【问题标题】:What causes the SVN error "Revision xxx doesn't match existing revision yyy..."是什么导致 SVN 错误“修订 xxx 与现有修订 yyy 不匹配...”
【发布时间】:2019-11-03 17:11:19
【问题描述】:

我正在使用最新版本的 SVN 来检查一些文件(使用“svn co URL DEST”)。当我这样做时,我收到一条错误消息 “svn:E155000:修订版 11134260 与 DEST 中的现有修订版 11075284 不匹配”。 但是,如果我使用 2011 版本的 SVN,我不会收到此错误(即结帐工作正常)。 有人可以解释这个错误消息的含义,以便我更好地找出解决问题的方法吗?

我曾尝试在 stackoverflow 以及 Google 搜索和 SVN 文档上进行搜索,但只提供了与合并相关的信息,但在结帐时没有讨论此问题。当然,由于我没有完全理解这个问题,我可能没有在寻找正确的东西。

有效的 SVN 版本是: svn,版本 1.6.17 (r1128011) 2011年6月2日23:35:08编译

失败的 SVN 版本是: svn,版本 1.11.1 (r1850623) 编译于 2019 年 1 月 9 日,19:28:50 在 x86-microsoft-windows 上

【问题讨论】:

    标签: svn checkout co


    【解决方案1】:

    此错误是由于 SVN 版本 1.6 及之前版本与 1.7 及更高版本之间的差异造成的。在 1.6 和之前的版本中,作为 SVN 存储库一部分的每个子目录都有自己的 .svn 文件夹。从 1.7 开始,有一个 .svn 文件夹位于工作副本的根目录。 在我们的系统中,包含在我们的主存储库中的部分目录结构是

    root_dir/sub_dir_a

    所以,当我检查 root_dir 时,我得到 sub_dir_a 作为子目录。通过我们构建系统和存储库的演变,sub_dir_a 对除 root_dir 之外的其他项目变得有用,并且(错误地)被复制到单独的存储库(我们称之为 copy_of_sub_dir_a),并且构建系统更改为 a)检查 root_dir,b)删除 sub_dir_a,然后 c) 将 copy_of_sub_dir_a 检出到 root_dir/sub_dir_a。在 SVN 1.6 和更早的版本中,这可以正常工作,因为 root_dir 只包含 root_dir 的信息。从 1.7 开始,root_dir 有一个 .svn 文件夹,其中还包含 sub_dir_a 的信息,因此当我们的构建系统尝试检查 copy_of_sub_dir_a 时,SVN 会抛出一个错误,指出(copy_of_sub_dir_a 的)修订版与 root_dir 所说的不匹配。 此问题的正确解决方法是不将 sub_dir_a 作为 root_dir 存储库的一部分 - 它应该已被删除/移动而不是复制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-25
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 1970-01-01
      • 2012-02-13
      • 2015-12-30
      相关资源
      最近更新 更多