【问题标题】:Restoring SVN history links after commit提交后恢复 SVN 历史链接
【发布时间】:2017-04-13 04:15:31
【问题描述】:

在 Eclipse 中,我移动并重命名了一些文件并提交。我现在明白我应该在提交之前在 TortoiseSVN 中使用 svn movesvn rename 或完成 Repair move。但我没有这样做,并承诺。现在,这些文件的历史记录没有链接。历史可以恢复吗?

我之前用过Subclipse,没遇到过这个问题。但现在我没有安装 Subclipse。所以我猜测如果安装了 Subclipse,它会通过改变 Eclipse 的重构行为来处理这个问题。这是真的吗?

【问题讨论】:

    标签: eclipse svn tortoisesvn subclipse


    【解决方案1】:

    一旦您提交了更改,解决此问题的唯一方法就是重新开始。删除项目并提交,然后返回并进行适当的移动并提交。如果需要,您还可以使用 svn copy 从历史记录中复制旧项目。

    如果您在重构文件时使用 Subclipse,它们会自动移动,因此您不会遇到此问题。

    【讨论】:

    • AFAIK 如果一个文件被删除,并且在几次提交后,一个新文件被写入相同文件名的相同路径,它们被认为是同一个文件并且它们的历史被链接。这是真的吗?
    • 没有。历史不基于路径名。 SVN 知道被删除的项目是其历史的结束,而正在创建的项目是开始。是否同名无所谓,
    • 所以删除文件然后移入新版本将完成你想要的。这假设您也有原始文件要移动。
    • 我恢复到旧的、健康的提交,并再次提交。这恢复了历史链接。在此之后,我再次使用“修复移动”等进行了更改,并提交了。尽管有一些多余的提交,但现在一切似乎都很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 2013-08-02
    • 2017-09-16
    • 1970-01-01
    • 2019-09-12
    • 2012-10-31
    • 2020-09-03
    相关资源
    最近更新 更多