我在本地计算机上创建了一个存储库:
svnadmin create /home/me/Desktop/svn_test/trunk
然后将myDir目录导入存储库。
svn import myDir/ file://home/me/Desktop/svn_test/trunk
到目前为止,svn checkout,commit,update工作正常。
现在,我想从存储库创建分支,所以我按照教程执行:
(svn复制源目的地)
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
答案 0 :(得分:7)
您没有在svn_test
中创建存储库您是在svn_test / trunk
中创建的你想要
$ svnadmin create /home/me/Desktop/svn_test
代替。
你这样做的方式,svn_test / trunk是repo,所以subversion不能对svn_test / branches进行定制 - 因为那不是存储库路径。
编辑(为清晰起见):
你想要做的是这样的事情:
$ 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
发生之前,没有提及“主干”。