SVN修复文件夹移动错误

SVN修复文件夹移动错误,svn,tortoisesvn,Svn,Tortoisesvn,我的同事将文件夹移动到了其他位置。但他没有做一个正确的SVN移动,他只是将它们作为新文件添加,并删除旧文件。这当然意味着项目的历史记录是错误的。当时我不在家,此后对文件进行了几次编辑,因此,恢复修订并自己重做操作是不可能的 有没有办法让SVN知道他们的全部历史 注意,我使用龟甲帮助。来自龟甲帮助 移动和重命名版本化文件 工作副本的内部必须始终为 使用相应的 Subversion/TortoiseSVN命令。A. 移动/重命名时不使用这些选项(例如,使用 Windows资源管理器)将导致 Sub

我的同事将文件夹移动到了其他位置。但他没有做一个正确的SVN移动,他只是将它们作为新文件添加,并删除旧文件。这当然意味着项目的历史记录是错误的。当时我不在家,此后对文件进行了几次编辑,因此,恢复修订并自己重做操作是不可能的

有没有办法让SVN知道他们的全部历史

注意,我使用龟甲帮助。

来自龟甲帮助

移动和重命名版本化文件 工作副本的内部必须始终为 使用相应的 Subversion/TortoiseSVN命令。A. 移动/重命名时不使用这些选项(例如,使用 Windows资源管理器)将导致 Subversion不知道的问题 您已移动/重命名文件

例如,如果重命名文件 将myfile.txt命名为myfile2.txt 不使用 颠覆/乌龟行动指挥部, myfile.txt将显示为“缺少” 而myfile2.txt在中为“非版本化” 提交对话框或 检查修改对话框

如果这发生在你身上,乌龟 为您提供了一种简单的纠正方法 这个

据我所知,这是修复移动的唯一方法,但不确定移动和然后添加。

这是来自:

如果您已经承诺 已删除文件,然后您可以使用 存储库浏览器,更改为 文件仍然存在的版本 然后使用“复制”命令。。。 从上下文菜单中。输入路径 将您的工作副本作为目标和 已删除的文件将从中复制 将存储库复制到您的工作副本中

您还可以使用此技术还原已删除的目录。


当然,您必须先删除(或重命名)同事添加的文件夹。

无法编辑Subversion存储库历史记录的内容。您必须:

  • 从错误前的修订开始重建存储库,提交正确的移动,然后从错误前的修订开始提交修订。这要求每个人都获得新的工作副本,或将它们(svn update-rN)倒带到要替换的修订之前
  • 删除移动的文件夹,将其重新创建为旧文件夹的副本(
    svn copy@
    ),然后使用
    svn merge
    将此后的更改重新应用于旧位置文件夹的新副本

  • 我不认为这是他问的,为什么不呢?只需恢复删除、添加和修复移动。陛下丢失所有历史如果第一步是删除包含更改的移动文件夹,我对如何合并更改感到困惑?@StevenLiekens您在复制旧版本的文件夹后合并。仍然困惑。如果我删除文件夹
    newlocation\Foo@HEAD
    并将
    oldlocation\Foo@
    复制到
    newlocation\Foo
    然后合并什么?@StevenLiekens您可以合并
    :HEAD
    以提取错误发生后和修复错误之前发生的更改。因此。。。将上一次提交的修订(通过其URL)与仍处于修改状态的工作副本合并,以防止其被
    中的文件覆盖?