如何解决“找不到节点'......”。在SVN

时间:2012-11-20 17:10:45

标签: svn version-control

我合并了两个分支(主干和开发分支)。文件夹已消失。

我在命令行工作,当我试图说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接受此更改?

谢谢!

5 个答案:

答案 0 :(得分:7)

我试图使用TortoiseSVN更新工作副本时遇到此错误。在我的情况下,我设法使用SVN命令行界面改为svn update。即使在成功提交后,我仍然无法更新。

非常奇怪,但手动删除和更新似乎可以清理所有内容。我的两个客户都基于Subversion 1.7.6。

答案 1 :(得分:3)

看起来有些信息被打破了。在与树冲突合并期间似乎发生了这种情况。

我必须修复svn数据库,即 .svn / wc.db 文件。

警告!你正在操纵可能有害的svn数据库!只有在备份时才执行此操作,如果此过程无效,请从备份中恢复数据。

  1. SQLite Download Page转到SQLite,下载适用于您平台的预编译二进制文件的存档并提取它,例如到 / tools
  2. 更改为 .svn 目录,备份 wv.db (!)并使用 sqlite3 > wc.db 作为参数。 E.g。

    \tools\sqlite3.exe wc.db

  3. 使用

    搜索导致问题的条目

    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 '%...%';

    有助于找到故障节点。

  4. 选择替换为删除

    ,删除有问题的节点

    delete from actual_node where conflict_data like '%missing%';

  5. 再次使用您喜欢的svn工具进行检查。

  6. 冲洗并重复直至所有问题都消失。
  7. 警告!你正在操纵可能有害的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)

我删除了文件的文件夹并重新进行了更新。我发现这样做解决了这个问题。