SVN импорт и проверка на месте - PullRequest
28 голосов
/ 24 марта 2009

Используя командную строку Linux и Subversion , возможно ли взять каталог и добавить к нему контроль версий?

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

Ответы [ 2 ]

39 голосов
/ 24 марта 2009

Допустим, вы использовали 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

Ваш каталог теперь контролируется версиями!

10 голосов
/ 30 марта 2009

Да, вы можете импортировать существующий каталог (с содержимым) в репозиторий SVN и использовать текущее местоположение в качестве рабочей копии с управлением версиями. Идти на это следующим образом:

Предположим, что ваши (не версионные) исходные файлы проекта находятся в / home / user / projectx, а ваш репозиторий готов к файлу: /// svnrepo

  1. Сначала создайте пустой каталог где-нибудь за пределами дерева вашего проекта, скажем, /tmp/empty. Импортируйте этот пустой каталог в ваш репозиторий Subversion:

    cd /tmp/empty
    
    svn import . file:///svnrepo/projectx
    
  2. Перейдите в каталог вашего заполненного проекта. Теперь проверьте расположение хранилища, созданное на шаге 1:

    cd /home/user/projectx
    
    svn checkout file:///svnrepo/projectx .
    

Это добавит файлы .svn в каталог вашего заполненного проекта, но больше ничего не сделает, поэтому ваши существующие файлы в безопасности.

  1. Затем добавьте каталог с вашими файлами в хранилище:

    svn add *
    
    svn commit -m 'initial commit'
    

Готово.

...