Как заставить SVN игнорировать папку? - PullRequest
1 голос
/ 15 декабря 2009

Я хочу, чтобы SVN игнорировал все, что находится в моем каталоге WordPress. Это приносит мне только головную боль из-за автоматического обновления плагинов и т. Д.

Когда я ...

svn propedit svn:ignore ./blog

Это говорит мне ...

svn: не задана ни одна из переменных среды SVN_EDITOR, VISUAL или EDITOR, и не найдена опция конфигурации во время выполнения для editor-cmd

Итак, я ...

[phil@sessions www]$ export SVN_EDITOR=emacs
[phil@sessions www]$ svn propedit svn:ignore ./blog

Но я не знаю, что сюда вставить, чтобы это игнорировалось.

Ответы [ 5 ]

2 голосов
/ 24 апреля 2010

Многие другие вопросы уже затронули эту тему (поиск "[svn] ignore"; слишком ленив, чтобы связать их все), но ключевая вещь, которая недостаточно подчеркнута в документах, это svn: ignore Только применяется к элементам, которые не существуют в головной версии репо. Поэтому, если вы хотите, чтобы svn: ignore применялся к чему-то, что вы (случайно) зарегистрировали, вам нужно сначала удалить элемент svn, чтобы вытащить его из репо. Посмотрим, решит ли это вашу проблему.

2 голосов
/ 15 декабря 2009

Чтобы указать Subversion игнорировать каталог, вы должны отредактировать свойства каталога parent . Так что, если blog - это ваш каталог Wordpress, который вы хотите игнорировать, выполните:

[phil@sessions www]$ svn propset svn:ignore blog .

Аргументами propset являются PROPNAME , PROPVAL и PATH . Таким образом, свойство svn:ignore для . (текущий каталог) устанавливается равным blog.

Конечно, вы можете использовать propedit вместо propset, если хотите редактировать существующее значение в интерактивном редакторе.

2 голосов
/ 15 декабря 2009

Я не уверен, но вы можете просто удалить папку из SVN?

svn --keep-local delete path/to/folder

Это удаляет его из SVN, но сохраняет в вашей рабочей копии.

Но я не уверен, останется ли локальная копия со следующим обновлением, и я предполагаю, что svn:ignore - более чистый подход?

1 голос
/ 15 декабря 2009

Если вы не укажете свойство в командной строке, SVN попытается открыть ваш редактор, чтобы позволить вам изменить атрибуты.

Вы можете либо:

  • Укажите атрибут в командной строке:

    svn propset svn: игнорировать "*" ./blog

  • Экспортируйте имя вашего редактора в SVN_EDITOR, и когда svn откроет список свойств, просто добавьте шаблоны, разделенные новыми строками.

0 голосов
/ 15 декабря 2009

svn propedit svn:ignore ./some_path говорит svn, что вы хотите игнорировать вещи в каталоге some_path.

Например, если в ./some_path есть 2 файла, и вы хотите игнорировать оба, вы можете ввести

foo
bar

Если вы хотите игнорировать foo, но не bar, просто введите

foo

Наконец, он понимает подстановочные знаки, поэтому, если вы хотите игнорировать все в ./some_path, вы можете ввести

*

Так что, если вы хотите игнорировать все в ./blog, я думаю, что * должно сработать.

...