5

我正在使用 TortoiseSVN 1.8 版。几次修订前,我重新集成了一个分支,该分支导致一些文件在 trunk* 中被替换。我恢复了修订并重新合并,在提交之前小心恢复工作副本中的替换文件。

但是,现在我看到这些文件在主干中仍被标记为已替换。当我从主干合并到不同的分支时,它会尝试替换这些文件。

我注意到将错误合并恢复到主干的修订恢复了除替换文件之外的所有内容。现在,当我转到那个修订版时,选择一个被替换的文件并选择“Revert Changes from This Revision”,它似乎做了一些事情,但我的工作副本保持不变。即使我在合并之前选择了修订版并为整个主干选择“恢复到此修订版”,它对替换的文件也没有任何作用。

我不知道如何恢复对这些文件的“替换”操作。

*我认为这是因为在某些时候,从主干到分支的合并发生了错误。这些文件可能在不知道它们来自主干的情况下被添加到分支,因此当它们重新集成时,它们替换了原始文件。

4

3 回答 3

6

部分解决方案:

我设法手动取回替换文件的历史记录,尽管我必须取消选中“停止复制/重命名”框才能查看所有内容。我在最新主干的工作副本中 svn 删除了替换的文件,从错误合并之前打开了回购浏览器,选择了文件并选择了“复制到工作副本...”。我提交了,现在文件可以再次访问它们的历史记录,但它仍然认为它们已被删除并重新添加。

于 2013-08-28T20:07:48.667 回答
0

我解决此问题的唯一方法是(在 svn 主干上) - 根据提交之前的修订创建一个标签,其中包括我想要恢复的替换 - 将主干重命名为 trunk2 - 将先前创建的标签复制到主干- 要求每个人重新检查行李箱

于 2019-01-22T17:56:48.600 回答
-1

转到乌龟,获取主干的历史记录,选择“坏”修订,右键单击并选择“恢复此修订”。这会将在该修订版中所做的所有更改恢复到您的工作副本。然后,您可以将其签入,rev 将被有效删除。

或者,选择您认为好的版本,单击它并选择“恢复到此版本”,这将撤消此后的所有更改。

重要提示:您最好使用全新、干净、新签出的工作副本,主要是这样您就可以确切地知道您正在使用的事物的状态。

于 2013-08-28T20:42:50.430 回答