Я создал хранилище на своем локальном компьютере:
svnadmin create /home/me/Desktop/svn_test/trunk
Затем импортировал каталог myDir в хранилище.
svn import myDir/ file://home/me/Desktop/svn_test/trunk
Пока svn checkout , commit, update работает отлично.
Теперь я хочу создать ветку из репозитория, поэтому я последовал этому уроку и выполнил:
(svn copy source destination)
svn copy file:///home/me/Desktop/svn_test/trunk file:///home/me/Desktop/svn_test/branches
Затем я получил:
svn: Unable to open an ra_local session to URL
svn: Unable to open repository 'file:///home/me/Desktop/svn_test'
Что я Я что-то здесь не так делаю?
После тщательного изучения образца команды я обнаружил, что есть обратные слэши, как показано ниже: что это? (и по-прежнему получаю сообщение об ошибке)
svn copy file:///home/me/Desktop/svn_test/trunk \ file:///home/me/Desktop/svn_test/branches \ -m "test"
svn: Cannot mix repository and working copy sources
Вы не создали репозиторий в svn_test
Вы создали его в svn_test / trunk
. Вместо этого вы хотите
$ svnadmin create /home/me/Desktop/svn_test
.
Как вы это сделали, svn_test / trunk - это репозиторий, поэтому Subversion не может справиться с svn_test / branch - поскольку это не путь к репозиторию.
РЕДАКТИРОВАТЬ (для ясности):
Вы хотите сделать что-то вроде этого:
$ mkdir /path/to/repo # NO /trunk!
$ svnadmin create /path/to/repo # NO /trunk!
$ svn import -m "initial import" . file:///path/to/repo/trunk #import into a directory called "/trunk" that lives in the repository
$ svn co file:///path/to/repo/trunk myproject
$ cd myproject
$ # do some stuff to your working copy...
$ svn commit -m "I made some changes"
$ # decide you want to make a branch...
$ svn copy -m "branching for some reason" file:///path/to/repo/trunk file:///path/to/repo/branches/some-branch
Обратите внимание, что "ствол" не упоминается до тех пор, пока не произойдет svn import
.