Subversion合并:“路径未找到”

5

在我的Subversion项目中,我从主干分支创建了一个分支,进行了一些更改,现在正在将该分支重新集成到主干分支上。当我尝试进行合并时,出现以下错误消息,似乎是在抱怨特定版本:

Merge status operation failed.
Filesystem has no item
svn: '/svn/repo/!svn/rvr/24066/path/to/branch/newProject' path not found

注意:该分支是在第24068个版本创建的。
有人能解释一下为什么会出现这个错误以及如何解决吗?
编辑:我使用的 SVN 和 Subclipse 版本是 1.6。

展示真实的命令(log, ls, merge)和输出,并添加SVN版本。 - Lazy Badger
@LazyBadger 很抱歉,这个问题发布的不是为了解决我的具体问题,而是作为这个问题普遍存在的资源。也许我错了,想得太笼统了,但从我的研究来看,这似乎是一个相当普遍的问题,没有明确的解释。随着svn版本的编辑,因为那可能是相关信息。 - ConMan
5个回答

8

如果有人偶然看到这个问题,以下是我在发布此问题后学到的一些东西:

  1. 检查它所说的路径是否真实存在,svn通常对这些事情很准确。
  2. 有时可能是大小写问题,因此请检查大小写错误。
  3. 如果您正在使用svn over http,请将url粘贴到浏览器中并检查是否可以看到该文件。
  4. 尝试执行 svn cleanup 或在eclipse中选择Team > Cleanup。 这是为删除锁定而设计的,这些锁定是由于操作未成功完成而留下的,过去它已经解决了一些难以理解的问题!
  5. 检查是否存在不良的svn.info文件。 该文件应该存在于分支的根目录中,并且如果存在于项目的其他区域并且未及时更新,则有时可能会引起问题。 我在2015年6月26日上班时遇到了这个问题,使用svn 1.8和带有subversive和svnkit 1.8连接器的eclipse,这阻止了我们进行合并。 解决方案是删除除项目根目录中的文件之外的所有svn.info文件。

请遵循ConMan的建议,确保路径存在。您可能会对自己说:“当然,路径在那里。毕竟这是存储库的“工作目录”。”,但是,您尊敬的同事之一可能已经重新配置了存储库目录,导致您的工作目录不一致。问我怎么知道的。:-/ - Ethan Brown

3
我遇到了这个问题,发现它是由TortoiseSVN中的一个缓存仓库引起的。
为了解决这个问题,我进入TortoiseSVN设置,找到日志缓存->缓存仓库,并删除了缓存。 SVN Cached Repository

我不经常使用Tortoise,但当我使用它时,我发现最好禁用其缓存和保存的数据。因为有几次被锁定在我的账户外面,因为它认为它知道我刚刚更改的密码... - ConMan
1
在我的情况下解决了问题。 - Bhupendra Shukla

1
我在一个分支上执行“show log”时出现了相同的错误。 像msmucker0527描述的那样清除缓存解决了我的问题。 实际上是对缓存日志进行了“更新”,而不是“删除”。 在开始/ TortoiseSVN /设置下找到“设置”。

0
当我将项目作为普通项目(而不是作为Maven项目)检出,然后在团队合并之前将其转换为Maven时,问题得到了解决。

0

在运行svn命令时,我遇到了完全相同的错误。最初使用批处理文件来运行命令,并没有问题。但后来我改用PowerShell执行命令,就会出现这个错误。

结果证明,当通过Powershell执行时,URL区分大小写,但通过批处理脚本则没有问题。

请检查URL是否区分大小写。


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