2010-02-03 14 views
6

binari (sotto Linux) non hanno un'estensione quindi non posso escluderli usando i modelli. Così quando uso SVN add ad aggiungere una directory mi metterò qualcosa comeCome rendere SVN ADD ignorare i binari

$ svn add recursion_vector/ 
A   recursion_vector 
A   recursion_vector/rec_vec.cxx 
A   recursion_vector/rec_vec.h 
A (bin) recursion_vector/rec_vec 

Ecco rec_vec è l'eseguibile vorrei escludere. SVN ovviamente lo riconosce come binario. Ora posso dire a Subversion di ignorare tutti i file binari?

+0

Solo un'osservazione: Ignorando tutti i binari sarebbe ignorare altri binari, anche. Ad esempio, icone, che potresti voler includere nel repository. – Sam

+0

Sì, ma è qualcosa con cui potrei convivere, perché normalmente controllo solo il codice e mai le icone. – fuenfundachtzig

risposta

2

Questo è un po 'prolisso perché utilizza trovare:

find [TARGET-DIRECTORY] \(-executable -type f \) -prune -o -print | xargs svn add --depth empty

Passando il target-directory per trovare, ritrovare sarà ricorsivamente la directory stampare tutti i contenuti ad eccezione dei file eseguibili (\(-executable -type f \) -prune). Senza -type f ritrovamento sarebbe anche potare le directory dal momento che questi di solito hanno il bit di esecuzione o "cerca bit" set.

L'opzione --depth empty su add indica a svn di non ricorrere a se stesso a un oggetto file, poiché find sta gestendo la ricorsione.

Se ti piace il risultato, puoi inserirlo in una funzione di shell che ti consentirebbe di passare argomenti per [TARGET-DIRECTORY].

Grazie,

Zachary

0

Questo non è esattamente ciò che si vuole (e si potrebbe già sapere questa risposta) ... ma in ogni caso:

È possibile impostare escludere i modelli di ignorare alcuni file in base ai nomi dei file. Maggiori informazioni nel grande libro SVN:

http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.3

Oltre a questo, potrebbe essere possibile fare qualcosa con commit ganci, ma non ho alcuna esperienza con quelli ...

Buona fortuna!

1

Puoi impostare un pattern match per escludere nomi di file che non hanno un . in loro?

+0

L'idea migliore finora :) Naturalmente, sarebbe anche sparare sui file chiamati README e simili, ma non ho coloro, quindi forse dovrei andare con questo. – fuenfundachtzig

+0

@fuenfundachtzig si potrebbe anche corrispondere i nomi di file che non hanno un '.' in loro e anche corrispondere' [a-z] + '. Se lavori con i file README, allora potrebbero essere tutti '[A-Z] +' ... – masher

Problemi correlati