2010-02-03 11 views
6

Les binaires (sous Linux) n'ont pas d'extension donc je ne peux pas les exclure en utilisant des patterns. Ainsi, lorsque j'utilise SVN add pour ajouter un répertoire que je vais obtenir quelque chose commeComment faire SVN ADD ignorer les binaires

$ 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 

Ici rec_vec est l'exécutable que je voudrais exclure. SVN le reconnaît évidemment comme binaire. Maintenant, puis-je dire à Subversion d'ignorer tous les fichiers binaires?

+0

Juste une remarque: Ignorer tous les binaires ne tiendrait pas compte d'autres binaires, aussi. Comme, par exemple, les icônes, que vous pourriez vouloir inclure dans le dépôt. – Sam

+0

Oui, mais c'est quelque chose que je pourrais vivre, parce que normalement, je ne vérifie que le code et jamais les icônes. – fuenfundachtzig

Répondre

2

C'est un peu bavard, car il utilise trouver:

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

passage répertoire cible pour trouver, FIND récursivité le répertoire imprimer tout le contenu à l'exception des fichiers exécutables (\(-executable -type f \) -prune). Sans trouver -type f trouverait également les répertoires d'élagage car ceux-ci ont généralement le bit d'exécution ou "bit de recherche" ensemble.

L'option --depth empty sur add indique à svn de ne pas recopier lui-même un objet fichier, puisque find gère la récursivité.

Si vous aimez le résultat, vous pouvez mettre cela dans une fonction shell qui vous permettrait de passer des arguments pour [TARGET-DIRECTORY].

Merci,

Zachary

0

Ce n'est pas exactement ce que vous voulez (et vous savez peut-être cette réponse) ... mais de toute façon:

Vous pouvez définir des motifs d'exclusion d'ignorer certains fichiers en fonction des noms de fichiers. Plus d'informations dans le grand livre SVN:

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

Autre que cela, il pourrait être possible de faire quelque chose avec des crochets engager, mais je n'ai pas d'expérience avec les ...

Bonne chance!

1

Pouvez-vous configurer une correspondance de modèle pour exclure les noms de fichiers qui n'ont pas de . dans ceux-ci?

+0

La meilleure idée à ce jour :) Bien sûr, il serait également tiré sur des fichiers appelés README et similaires, mais je ne les ai pas, alors peut-être que je devrais aller avec cela. – fuenfundachtzig

+0

@fuenfundachtzig vous pouvez également faire correspondre des noms de fichiers qui n'ont pas de '' .' dans eux et aussi correspondre '[a-z] +'. Si vous travaillez avec des fichiers README, ils peuvent tous être '[A-Z] +' ... – masher

Questions connexes