2009-10-20 12 views
5

mia struttura di directory è simile al seguente:Come posso configurare ricorsivamente lo stato di svn per nascondere i file ignorati?

project/ 
    app1/ 
    app2/ 
    settings.py 

Da all'interno della directory project, mi sono imbattuto svn propedit svn:ignore . Questo ignorare solo i file all'interno di direttore del progetto escludendo le sue sotto-directory. Posso eseguire nuovamente il comando svn da dentro ciascuna cartella e funzionerà. C'è un comando svn interna o l'opzione che può ricorsivamente farlo per me o dovrei ricorrere a uno script per eseguire l'ignorare all'interno di ogni sotto-cartelle del mio progetto?

ho impostato il mio file ignorati essere:

*.pyc 
*.swp 

Tuttavia, ogni volta che faccio un svn status, continuo a vedere i file di cui sopra. C'è un modo per dire svn status per nascondere i file ignorati in modo ricorsivo?

+1

'status' svn non nascondere i file ignorati. Come hai impostato quei file da ignorare? –

+1

Hai ignorato la modifica? Non sono sicuro che funzionerà fino a quando non lo farai. – pivotal

+0

Ho modificato la mia domanda per ulteriori chiarimenti. –

risposta

5

svn propedit funziona solo su un bersaglio alla volta. TortoiseSVN ha un'opzione per applicare le proprietà in modo ricorsivo, ma se non lo si utilizza o un'altra interfaccia grafica che ha questa opzione, si avrebbe a che fare con uno script.

Tuttavia, ciò che dovresti fare in realtà do è impostare il tuo global-ignores per ignorare i due modelli di file che hai menzionato. Secondo the most recent documentation, *.pyc e *.swp sono inclusi nel predefinito ignora per Subversion 1.6, ma è possibile aggiungere loro se il file config non li hanno.

Il percorso del file config dipende dalla piattaforma; vedi il link alla documentazione sopra. global-ignores è nella sezione miscellany.

+0

Il link di documentazione è morto. Credo che questa sia la versione corrente e il luogo di interesse. http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.advanced.props.special.ignore Sezione pertinente - "Su sistemi simil-Unix, quest'area appare come una directory chiamata .subversion nella directory home dell'utente. Sui sistemi Win32, Subversion crea una cartella denominata Subversion, tipicamente all'interno dell'area Application Data della directory del profilo dell'utente (che, di solito, è di solito una directory nascosta). " – RyanfaeScotland

+0

In Windows type% APPDATA% nella barra degli indirizzi di Explorer da prendere lì. – RyanfaeScotland

2

unico problema con la global-ignora è che hai bisogno di un'estensione del file. In alcuni programmi ci sono file senza un'estensione (o ci sono solo molte estensioni). Un esempio sono i file tmp in CakePHP.

Ho fissato questo da (in bash shell Linux):

cd app/tmp 
for a in `find . -type d |grep -v svn`; do svn propset svn:ignore '*' $a; done 
Problemi correlati