SVN提交失败,错误信息为svn: '/svn/!svn/bc/'。

5

进行一些重构后,在Eclipse中,提交时Subversion开始抱怨。我不知道如何解决它。我已经成功删除了(并提交了GPFragmentRef.java的删除)。

>niclas@nl:~/$svn commit -m "trying again"
Adding         core/doc/GDocSection.java
Adding         core/doc/GDocSectionID.java
Adding         core/doc/GDocSectionRef.java
svn: Commit failed (details follow):
svn: '/svn/!svn/bc/21791/DST/trunk/grammar-core/src/main/java/dts/grammar/core/policy/GPFragmentRef.java' path not found
< p >“svn/!svn/bc”是什么意思?


2
你尝试过更新你的工作副本吗? - acermate433s
8个回答

2

看起来svn又想提交对GPFragmentRef.java的更改了。也许您可以运行svn cleanup来查看是否有帮助。另一个可能性是尝试还原该文件的更改,通过仅在该文件上运行svn revert


你好。我已经尝试了清理和还原操作,但没有成功。解决方法是检出一个新的工作副本,然后手动将更改复制到新的工作副本中。非常奇怪... - Niclas

2
解决该问题的方法是:
  • 检出一个新的工作副本。
  • 从损坏的工作副本中手动添加更改到新的工作副本中。

2

我相信你已经解决了这个问题,但是我使用命令行svn客户端时也遇到了同样的错误,最后发现是路径大小写不匹配造成的。这个问题很明显,但我想提醒大家以节省时间。


1

这是Subversion用于管理提交事务等的内部URL集。这听起来像是您的服务器不再设置为在该URL上托管您的存储库。

您应该检查mod_dav_svn是否仍然设置和配置。您能否获得干净的检出,或运行任何与服务器op通信的操作,例如svn status -u

或者,如果您的管理员尝试过滤对存储库中某些路径的访问权限,则可能存在路径过滤问题。您始终需要访问/svn/!svn/树,可能还需要(由于旧错误)对存储库根目录/svn进行OPTIONS请求的权限。


你好。感谢您的信息。运行svn status -u会给出要添加/删除等的文件列表。Subversion抱怨的文件不在列表中。我正在寻找解决方法。Subversion服务器是我的。已经运行了几个月了。没有任何变化。有很多未提交的更改,我不想失去它们。感谢任何帮助。 - Niclas

1

我曾经遇到过同样的问题(也是由于重命名/重构/移动等操作引起的)。我通过创建一个补丁,撤销所有更改,然后应用该补丁来解决这个问题。之后我就可以正常提交了。


1

如果您手动将项目复制到本地另一个存储库,并且所有 .svn 目录仍然存在,则可能会发生这种情况。

在已复制的目录上使用此命令可清除 Subversion 元数据:

find . -type f -name ".svn" -exec rm -i -f -r '{}' \;

0
这对我有用: 将我的更改搁置,更新,再次取消搁置,然后提交。

0
有时候,当你执行一系列涉及复制、修改和删除一个或多个文件的操作时,就会发生这种情况。Subversion在重命名/删除过程中可能会丢失对它们的跟踪,从而导致提交失败。将有问题的文件或目录移开,在使用svn update重新检出后,将更改后的文件复制到新目录中。你可能会失去关于重命名/移动文件的跟踪信息,但是你仍然可以提交你的更改。

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