Как создать список игнорируемых нескольких элементов в SVN? - PullRequest
5 голосов
/ 16 июня 2010

Я создаю список игнорирования на компьютере с 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 ]

24 голосов
/ 16 июня 2010

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

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

.svnignore:

*.pyc
*~

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

8 голосов
/ 16 июня 2010

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

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

0 голосов
/ 01 июня 2017

Метод

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

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

.svn-ignore-recur

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

.svn-ignore

.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:
! svn-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
...