繁体   English   中英

svn commit失败svn:'/ svn /!svn / bc /

[英]svn commit fails svn: '/svn/!svn/bc/

在做了一些重构之后,在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

svn/!svn/bc是什么意思?

看起来svn试图再次提交对GPFragmentRef.java更改。 也许你可以运行一个svn cleanup ,看看是否有帮助。 另一种可能性是尝试通过仅对该文件运行svn revert来恢复对该文件的更改。

该问题的解决方案是:

  • 签出新的工作副本。
  • 手动将更改从已损坏的工作副本添加到新工作副本。

我确定你已经继续前进,但我使用命令行subversion客户端得到了同样的错误,结果证明这是我路径上的大写问题。 非常明显,但我想我会把它扔出去为别人节省一些时间。

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

在复制的目录上使用此方法擦除Subversion元数据:

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

我有同样的问题(也是由太多重命名/重构/移动/等引起的)。 我能够通过创建补丁,还原所有更改,然后应用补丁来解决它。 在那之后,我可以做得很好。

当您执行一系列涉及复制,修改和删除一个或多个文件的操作时,有时会发生这种情况。 Subversion可能会在重命名/删除过程中失去对它们的跟踪,并且提交将失败。 将有问题的文件或目录移开,使用svn更新重新检查它,并将更改的文件复制到新目录中。 您可能会丢失有关重命名/移动文件的跟踪信息,但您可以提交更改。

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

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

您应该检查mod_dav_svn是否仍然设置和配置。 你可以得到一个干净的结账,或运行任何与服务器对话的操作,例如svn status -u

或者,如果您的管理员试图过滤您对存储库中某些路径的访问权限,则这可能是路径过滤问题。 您将始终还需要访问/ svn /!svn / tree,并且还可能(由于旧的bug)权限向存储库root / svn发出OPTIONS请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM