2010-08-18 18 views
8

,当我在我的本地机器的版本库:SVN复制失败的尝试,以创建分支

svnadmin create /home/me/Desktop/svn_test/trunk 

然后导入mydir目录到仓库。

svn import myDir/ file://home/me/Desktop/svn_test/trunk 

到目前为止svn结帐,提交,更新工作正常。现在

,我想创建从存储库分支,所以我也跟着教程和执行:

(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

在你的问题中可能只是一个错字,但你似乎错过了你的导入行中的前斜杠。 – timdev 2010-08-18 22:39:22

+0

这是否会导致svn副本失败?导入命令没有抛出任何错误和其他命令,如结帐,提交等工作正常。我遇到了svn copy命令的问题。我已经编辑过,以获得更多细节,但不确定反斜杠在这里做什么。 – 2010-08-18 22:43:08

回答

7

你没有创建一个存储库中svn_test

您在svn_test /后备箱

创造你想要

$ svnadmin create /home/me/Desktop/svn_test 

代替。

你做到这一点的方式,svn_test/trunk是回购,所以颠覆​​无法做svn_test/branches - 因为这不是一个存储库路径。

EDIT(为了清楚起见):

你想要做的是这样的:

$ 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发生的。

+0

我已经更新了这个问题,对不起,它是错别字,所以我实际上在/ home/me/Desktop/svn_test/trunk中创建了存储库 – 2010-08-18 22:46:03

+2

忽略你看到的反斜杠 - 它们用于在shell中创建多行命令。您的问题仍然是“trunk”不应该是存储库,只是存储库中的*目录。编辑我的答案,给出一个适当的演示。 – timdev 2010-08-18 23:39:36

+0

太棒了!它正在工作,谢谢!我混淆了在我的项目目录和存储库之间使用trunk。 – 2010-08-19 00:09:48