我合并了两个分支(主干和开发分支)。文件夹已消失。
我在命令行工作,当我试图说svn resolve --accept working src/path/to/folder
终端吐出The node 'src/path/to/folder' was not found
之后它也会吐出来:
svn: E200009: Could not add all targets because some targets don't exist
svn: E200009: Illegal target for the requested operation
如何强制SVN接受此更改?
谢谢!
答案 0 :(得分:7)
我试图使用TortoiseSVN更新工作副本时遇到此错误。在我的情况下,我设法使用SVN命令行界面改为svn update
。即使在成功提交后,我仍然无法更新。
非常奇怪,但手动删除和更新似乎可以清理所有内容。我的两个客户都基于Subversion 1.7.6。
答案 1 :(得分:3)
看起来有些信息被打破了。在与树冲突合并期间似乎发生了这种情况。
我必须修复svn数据库,即 .svn / wc.db 文件。
警告!你正在操纵可能有害的svn数据库!只有在备份时才执行此操作,如果此过程无效,请从备份中恢复数据。
更改为 .svn 目录,备份 wv.db (!)并使用 sqlite3 > wc.db 作为参数。 E.g。
\tools\sqlite3.exe wc.db
使用
搜索导致问题的条目 select * from actual_node where conflict_data like '%missing%';
或
select * from actual_node where conflict_data like '%obstructed%';
优化这些查询,直到只列出错误的实际节点。还
select * from actual_node where local_relpath like '%...%';
有助于找到故障节点。
将选择替换为删除
,删除有问题的节点 delete from actual_node where conflict_data like '%missing%';
再次使用您喜欢的svn工具进行检查。
警告!你正在操纵可能有害的svn数据库!只有在备份时才执行此操作,如果此过程无效,请从备份中恢复数据。
对我而言,它曾多次奏效。
答案 2 :(得分:2)
由于使用服务器的DNS名称检出工作副本,我发生了此问题,例如http://myServer/svn/software/Trunk/;我告诉我的SVN客户端合并的分支是同一个分支,只是由其IP地址直接引用,例如http://10.140.1.29/svn/software/Branches/myBranch/。使用基于GUI的客户端(例如TortoiseSVN)时非常容易忽略,并且隐藏错误消息,例如"节点未找到"不要告诉你任何事情。希望这有助于某人。
答案 3 :(得分:0)
在Eclipse中也是如此。我做了几次刷新,svn清理等,但没有任何帮助。
然后我从命令行做了SVN提交,工作正常。
答案 4 :(得分:-2)
我删除了文件的文件夹并重新进行了更新。我发现这样做解决了这个问题。