尝试创建分支时svn副本失败

mas*_*san 8 svn copy

我在本地机器上创建了一个存储库:

svnadmin create /home/me/Desktop/svn_test/trunk
Run Code Online (Sandbox Code Playgroud)

然后将myDir目录导入存储库.

svn import myDir/ file://home/me/Desktop/svn_test/trunk
Run Code Online (Sandbox Code Playgroud)

到目前为止svn checkout,commit,update工作正常.

现在,我想从存储库创建分支,所以我按照教程执行:

(svn复制源目的地)

svn copy file:///home/me/Desktop/svn_test/trunk file:///home/me/Desktop/svn_test/branches
Run Code Online (Sandbox Code Playgroud)

然后我得到了:

svn: Unable to open an ra_local session to URL
svn: Unable to open repository 'file:///home/me/Desktop/svn_test'
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

仔细检查了示例命令后,我发现有如下的反斜杠,那是什么?(仍然会出错)

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
Run Code Online (Sandbox Code Playgroud)

tim*_*dev 7

您没有在svn_test中创建存储库

你在svn_test/trunk中创建了它

你要

$ svnadmin create /home/me/Desktop/svn_test
Run Code Online (Sandbox Code Playgroud)

代替.

你这样做的方式,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
Run Code Online (Sandbox Code Playgroud)

请注意,在svn import发生之前没有提到"主干" .

  • 忽略你看到的反斜杠 - 它们用于在shell中创建多行命令.你的问题仍然是"trunk"不应该是存储库,只是存储库中*的目录.编辑我的答案以提供适当的演示. (2认同)