Как рекурсивно применить svn:ignore glob при выполнении импорта?
svn: игнорировать свойство во время импорта
Ответы (2)
Я не уверен, что вы подразумеваете под «рекурсивным применением svn:ignore при импорте».
Если вы хотите исключить набор файлов из импорта, вы можете установить свойство global-ignores в ~/.subversion/config
перед импортом. Нет опции командной строки, чтобы сделать это на лету.
В качестве альтернативы вы можете добавить каталог и удалить ненужные файлы перед фиксацией:
$ svn co --non-recursive <repository_url> repo_root
$ cp -R <project_to_import> repo_root
$ cd repo_root
$ svn add *
$ find . -regex ".*\.\(bak\|obj\)" | xargs svn --force del
$ svn ci
Несмотря на трудоемкость, я предпочитаю последний подход, потому что я не большой поклонник svn import (часть svn del для меня не обычная, и я люблю просматривать список файлов перед совершением).
В противном случае, если вы хотите установить свойство svn:ignore для каждого каталога в иерархии перед импортом, вы должны использовать второй метод и выполнить svn propset (вместо svn del) перед фиксацией:
$ svn propset -R -F ignore.txt svn:ignore .
(На самом деле вы можете выполнить svn import, за которым следует svn propset, но не в одном коммите.)
Вы не можете сделать это с помощью обычного импорта; вам нужен импорт на месте.