如何解决svn错误: "E200007: 无法混合使用仓库和工作副本源"

5

我在这里查找此问题,但其他人报告的问题与我不同。其他人报告的问题是命令行中有反斜杠,而我没有。在我的情况下,我正在尝试从一个分支创建另一个分支,所以我执行了以下操作:

- Existing branch: https://mysvn.repo.com/project/branch
- Created https://mysvn.repo.com/project/branch/private_branches folder in TurtoiseSVN explorer
- Tried svn cp -m "My private branch" https://mysvn.repo.com/project/branch https://mysvn.repo.com/project/branch/private_branches/my_private_branch

我在帖子的标题中遇到了错误。请问有什么指示吗?


一切看起来都很好。我做的方式与之前类似,只有一个例外;我在结尾处添加了消息。svn cp https://mysvn.repo.com/project/branch https://mysvn.repo.com/project/branch/private_branches/my_private_branch -m "My private branch" - Rockin4Life33
3个回答

6
命令行没有将其视为两个URL。也许你在URL中有空格,如果是这样的话,应该将其编码为%20而不是输入一个空格?这里是我刚刚使用与您相同的语法进行的示例:
$ svn cp -m "Test branch" http://oneeight.tigris.org/svn/oneeight/trunk http://oneeight.tigris.org/svn/oneeight/branches/mptest1
Committed revision 24.

URL中不要有空格,但还是谢谢。在你的例子中,%20在哪里? - Chris F
我的例子只是一个简单的示例,以展示您使用的语法是正确的。我的URL中没有空格,因此也没有%20。 - Mark Phippard

0

当通过变量从脚本发出SVN命令时,遇到了相同的问题:

cmd=svn cp [...]
$cmd

我发现的解决方法是直接从脚本中发出命令:
svn cp [...]

也许这对您/其他人也适用。

0

我曾经遇到过同样的问题,解决方法是避免在消息中使用空格。在我的情况下,这是因为我在网格上运行命令,并且它会被一个脚本自动换行,该脚本在处理空格和双引号时存在一些问题。

对我有用的方法:

-m "My_private_branch"

希望这对你也有用。
附注:我没有尝试过,但是可能使用带单引号的“-m '我的私人分支'”可以工作。

用双引号括起来的消息中的空格绝对不是问题!在 SVN 或 GIT 中删除提交消息中的空格不会改变任何事情;除非它是一个长而详细的消息,否则只会使提交消息难以阅读。 - Rockin4Life33

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接