使用TortoiseSVN无法在Subversion仓库上创建分支

16

我已经从我们的Subversion代码库中完全拉下了一个新的检出。然后我右键单击工作文件夹并选择“分支/标记”。我为分支命名,并选择从我的工作副本创建副本。我还选择将工作副本切换到新分支。

当我点击确定时,我收到以下错误消息:

Commit failed (details follow): 
Directory 'C:\Projects\StrattonWF_2' is out of date
File not found: transaction '8877-59x', path 
'/branches/foo/bar/'
You have to update your working copy first.

但是按照错误信息中的指示并更新工作副本并不能解决此问题 - 错误仍在持续发生。

只有在我的工作站上出现这种情况 - 没有其他人有这个问题。我也可以正常对主干进行提交。就像我说的,我已经下载了一个完全新的主干副本。

还能尝试些什么?

相关版本号为:

  • TortoiseSVN 1.8.4
  • Subversion 1.8.5
  • 客户端操作系统:Windows XP
2个回答

52

我发现了问题所在:我试图创建一个路径中包含两个文件夹的分支,即/branches/foo/bar/。操作失败是因为第一个子文件夹不存在。

实际上,在TortoiseSVN的分支选项窗口底部有一个名为“创建中间文件夹”的选项,默认为关闭状态。现在我想这是有道理的。

如果TortoiseSVN提供了更有帮助的错误消息,那就更好了。


1
这并不是TortoiseSVN的错,而是Subversion的问题。我们应该提供更好的错误提示。我怀疑问题出在我们在某些地方返回了409 http状态码。我知道我们已经做了一些改变来解决这个问题,但我不确定这个具体情况。给users@subversion.apache.org发送一封电子邮件,描述你正在做什么以及收到的错误信息可能会有所帮助。这样我们就可以确保修复它。 - Ben Reser
谢谢Ben,我会给他们发一封电子邮件。 - cbp
2
只需勾选“创建中间文件夹”即可解决我的问题。 - thanos.a
1
在命令行中使用--parents选项来创建缺失的中间目录。 - Kevin Sadler
1
你应该接受这个答案作为你问题的解决方案。它真正地解决了问题。 - rph
救了我的命! - vector

0

这是服务器端的某种问题。有几个可能的问题需要考虑。

  • 您正在通过代理服务器运行,该代理服务器会超时请求,然后重复请求,这将导致两个命令失败而生成错误。

  • 有人在没有重新启动服务器的情况下修改了Subversion存储库。例如,有人运行了转储/加载周期,然后替换了存储库(解决此问题可能只需重新启动守护程序)。

  • 存储库中存在一些损坏。

当您尝试执行此操作时,错误日志和访问日志中有什么内容?如果我能看到这些内容,我可能可以告诉您哪些是可能的。


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