Используя командную строку Linux и Subversion, можно ли взять каталог и добавить к нему контроль версии?
В принципе, я хочу импортировать каталог во вновь созданный репозиторий, но также иметь каталог рабочей копии без необходимости его проверки.
Ответ 1
Скажем, вы использовали svnadmin для создания репозитория в /svn/foo/mydirname, и вы хотите управлять версиями /home/user/mydirname (это то, что вы имеете в виду?).
Затем выполните следующие действия:
cd /home/user/mydirname
svn co file:///svn/foo/mydirname . #This only creates the ".svn" folder for version control
svn add ./* #Tell svn you want to version control all files in this dir
svn ci #Check the files in
Теперь ваш каталог контролируется версией!
Ответ 2
Да, вы можете импортировать существующий каталог (с содержимым) в репозиторий SVN и использовать текущее местоположение в качестве рабочей копии, управляемой версией. Идите к нему следующим образом:
Предположим, что ваши (не-версии) источники проекта находятся в /home/user/projectx, и ваш репозиторий готов к файлу:///svnrepo
Сначала создайте пустой каталог где-то вне вашего дерева проектов, скажем, /tmp/empty. Импортируйте этот пустой каталог в репозиторий Subversion:
cd /tmp/empty
svn import . file:///svnrepo/projectx
Перейдите в свою папку с заложенным проектом. Теперь проверьте местоположение репозитория, созданного на шаге 1:
cd /home/user/projectx
svn checkout file:///svnrepo/projectx .
Это добавит файлы .svn в ваш каталог с заселенными проектами, но он ничего не сделает, поэтому ваши существующие файлы будут безопасными.
Затем добавьте каталог в свои файлы в репозиторий: