Как создать список игнорируемых нескольких элементов в SVN?

Я создаю список игнорирования на компьютере Windows, используя следующую командную строку:

svn propset svn:ignore "bin" Fardis.Test

Структура дерева каталогов:

\src\
\src\Fardis.Test\
\src\Fardis.Test\bin\
\src\Fardis.Test\obj\

Я запускаю эту команду, пока мой текущий каталог \src, Это отлично работает, но я хочу добавить другую папку, \src\Fardis.Test\obj\ в список игнорируемых, но это не удается. Я попробовал следующее:

svn propset svn:ignore "bin obj" Fardis.Test
svn propset svn:ignore "bin, obj" Fardis.Test
svn propset svn:ignore "bin; obj" Fardis.Test

После выдачи какой из них, svn status показывает, что ни одна из папок bin или obj не добавлена ​​в список игнорируемых.

Как я могу решить это?

3 ответа

Решение

Использование svn propedit вместо svn propset и поместите каждый шаблон на отдельной строке в окне редактора.

Также посмотрите на настройку global-ignores в вашей конфигурации для файлов и каталогов, которые следует игнорировать в любой рабочей копии. Обычно это лучший способ исключить отладочные и двоичные выходные данные из каталогов, содержащих множество проектов.

Я обычно создаю файл.svnignore. Смотри svn:ignore Тогда делай:

$ svn propset svn:ignore -F .svnignore .
  property 'svn:ignore' set on '.'

.svnignore:

*.pyc
*~

РЕДАКТИРОВАТЬ: Я добавляю.svnignore в репо также, чтобы отслеживать его.

метод

Существует гибкий способ без использования global-ignores,

Например, вы можете создать два файла: .svn-ignore а также .svn-ignore-recur,

.svn-игнорируемых Повторять

.idea
*.pyc
*.aux
*.out
*.ilg
*.toc
64bit-Debug

.svn игнорируемые

.idea
*.pyc
*.aux
*.out
*.ilg
*.toc
64bit-Debug
# below is difference
base
ta.txt
ta.html

Затем вы должны вызвать две команды (последовательность важна).

svn propset svn:ignore -F .svn-ignore-recur . --recursive
svn propset svn:ignore -F .svn-ignore .

Таким образом, вы получаете способ рекурсивного игнорирования некоторых файлов и некоторых других файлов в корне вашего хранилища.

Чтобы упростить проблему, разумно создать .sh и / или .bat файлы:
! СВН-ignor.bat

svn propset svn:ignore -F .svn-ignore-recur . --recursive
svn propset svn:ignore -F .svn-ignore .


! svn-ignor.sh

#!/bin/sh

sh ./!svn-ignor.bat

Конечно, вы должны добавить файл:

svn add .svn-ignore* !svn-ignor.*

дополнительный

Это ясно, что вы можете создать файл, как кошка .svn-ignore-some-subdir

*.dvi
*.cot
seven_doo

и позвонить

svn propset svn:ignore -F .svn-ignore-some-subdir ./sub/sub1/sub2
Другие вопросы по тегам