Subversion

SVN ignore через командную строку

Чтобы добавить директорию или файлы в игнор-лист в Subversion, необходимо выполнить команду:

svn propset svn:ignore PATTERN PATH

где PATTERN - шаблон имен игнорируемых файлов (например, *),
PATH - директория, к которой будет применен шаблон.
Пример: svn propset svn:ignore '*' ./tmp/


Чтобы изменить текущие шаблоны, нужно выполнить команду

svn propedit svn:ignore PATH

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

Копирование или перенос проекта между двумя репозиториями

Как известно, текущая версия svn поддерживает копирование или перемещение данных только внутри одного репозитория. А что делать, если нужно "вытащить" проект из одного репозитория и положить в другой? Мне известен только один, не совсем красивый, способ - создать дамп исходного репозитория, натравить на него svndumpfilter дабы отфильтровать нужный проект и затем загрузить получившийся дамп в новое хранилище.

svn: Can't convert string from 'UTF-8' to native encoding

Понадобилось перенести дамп Subversion репозитория с одного сервера на другой - нет проблем: svnadmin dump, svnadmin load. Эти две команды отработали без ошибок. Но проблема возникла при попытке сделать svn update на новом сервере из восстановленного репозитория:

svn: Can't convert string from 'UTF-8' to native encoding:

Очистка директорий от служебной информации SVN

Если svn export не устраивает, можно выполнить

find ./ -name .svn -exec rm -rf {} \;

После выполнения данной команды, в текущем каталоге и во всех подкаталогах будут удалены директории .svn.