Двоичные файлы (в соответствии с 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, очевидно, распознает его как двоичный файл. Теперь я могу сказать Подверсии игнорировать все двоичные файлы?
Это немного многословно, потому что в нем используется find:
find [TARGET-DIRECTORY] \ (-executable -type f \) -prune -o -print | xargs svn add --depth empty
Передавая целевой каталог для поиска, find будет рекурсивно просмотреть каталог, распечатывая все содержимое, кроме исполняемых файлов ( \ (-executable -type f \) -prune
). Без -типа f
find также будет сокращать каталоги, поскольку в них обычно установлен бит выполнения или бит поиска.
Параметр - depth empty
в add
указывает svn не выполнять рекурсию файлового объекта, так как find обрабатывает рекурсию.
Если вам нравится результат, вы можете поместить это в функцию оболочки, которая позволит вам передавать аргументы для [TARGET-DIRECTORY]
.
Спасибо,
Захари
Это не совсем то, что вы хотите (и вы, возможно, уже знаете этот ответ) ... но в любом случае:
Вы можете установить исключение шаблонов, чтобы игнорировать некоторые файлы на основе файлов файлов. Больше информации в Великой Книге SVN:
http://svnbook.red-bean.com/en/1.1/CH07S02.html#svn-ch-7-sect-2.3.3
Кроме того, это Можно удалось сделать что-то с помощью фиксации крючков, но у меня нет опыта с теми ...
Удачи!
Можете ли вы настроить сопоставление с шаблоном, чтобы исключить имена файлов, у которых нет .
в них?