Как заставить SVN ADD игнорировать двоичные файлы - PullRequest
6 голосов
/ 03 февраля 2010

Двоичные файлы (под Linux) не имеют расширения, поэтому я не могу исключить их с помощью шаблонов.Таким образом, когда я использую SVN add для добавления каталога, я получаю что-то вроде

$ 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

Здесь rec_vec - исполняемый файл, который я хотел бы исключить.SVN, очевидно, распознает его как двоичный файл.Теперь я могу сказать Subversion игнорировать все двоичные файлы?

Ответы [ 3 ]

2 голосов
/ 12 июня 2010

Это немного многословно, потому что он использует find:

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

Если передать целевой каталог для поиска, команда поиска найдет каталог, в котором будет распечатано все содержимое, кроме исполняемых файлов (\( -executable -type f \) -prune). Без -type f команда find также удаляет каталоги, поскольку обычно в них установлен бит выполнения или «бит поиска».

Опция --depth empty в add указывает svn не выполнять рекурсию файлового объекта, поскольку find обрабатывает рекурсию.

Если вам нравится результат, вы можете поместить его в функцию оболочки, которая позволит вам передавать аргументы для [TARGET-DIRECTORY].

Спасибо,

Захари

1 голос
/ 02 июня 2010

Можно ли настроить сопоставление с образцом, чтобы исключить имена файлов, в которых нет .?

0 голосов
/ 03 февраля 2010

Это не совсем то, что вы хотите (и вы, возможно, уже знаете этот ответ) ... но в любом случае:

Вы можете установить шаблоны исключения, чтобы игнорировать некоторые файлы на основе имен файлов.Больше информации в великой книге SVN:

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

Кроме этого, возможно, можно что-то сделать с хуками коммитов, но у меня нет опыта с этими ...

Удачи!

...