2012-02-25 24 views
5

Voglio che un repository ignori completamente alcuni file, l'equivalente di aggiungere quei file a .gitignore in un sistema git. Ho provato:SVN che non ignora i file

svn propset svn:ignore *.aux" . 

per ignorare tutti i file .aux. Tuttavia, dopo aver fatto questo e un successo svn commit, svn status mostra ancora:

?  something.aux 
!  somethingelse.aux 

c'è un modo ancora più forte per dirgli di ignorare questi file in modo che non si presentano in liste come questo?

+5

Vedere questo: http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.ignore.html. –

+2

Suppongo tu abbia un errore di battitura nel comando "svn propset" che hai menzionato. Non dovrebbe esserci "" (segno di virgolette). – bahrep

risposta

2

In realtà è una domanda comune e consiglio vivamente di considerare il capitolo SVNBook "Ignoring Unversioned Items" che lo copre.

vedere l'estratto importante dal SVNBook che spiega il comportamento: il supporto

di Subversion per i modelli di file trascurabili estende solo al processo una tantum di aggiungere file senza versione e directory per il controllo versione. Una volta che un oggetto è sotto il controllo di Subversion, i meccanismi di pattern ignorati non si applicano più a questo. In altre parole, non aspettarsi che Subversion eviti di commettere le modifiche apportate a un file con versione semplicemente perché il nome di quel file corrisponde a un pattern ignorato - Subversion rileva sempre tutti i suoi oggetti con versione.

In base all'uscita svn status, la copia di lavoro contiene one unversioned item (the one with the '?' sign) and one missing item (the one with the '!' sign).

?  something.aux 
!  somethingelse.aux 

Quindi hai rimosso manualmente (cioè tramite Esplora risorse, ma non tramite SVN client) il somethingelse.aux e ora ha 'mancante' stato. L'altro file something.aux non è ancora utilizzato ed è non ignorato.

Se non è stata digitata il comando svn propset, impegna il cambio di proprietà e il file ha ancora privi di versione di stato si può trovare questo estratto utile:

i modelli presenti nel svn: ignore applicano soltanto alle la directory su cui è impostata questa proprietà e non su nessuna delle sue sottodirectory .

Inoltre, è possibile controllare la proprietà svn:ignore emettendo il comando svn propget.