我正在使用TortoiseSVN 1.8版。在几次修改之前,我重新集成了一个分支,导致一些文件被替换为trunk *。我恢复了修订并重新合并,在提交之前小心地恢复我工作副本中的替换文件。
但是,现在我看到这些文件仍然标记为在主干中替换。当我从trunk合并到另一个分支时,它会尝试替换这些文件。
我注意到,将错误合并恢复为trunk的修订版除了替换后的文件外,还恢复了所有内容。现在,当我转到该版本时,选择一个替换文件并选择“从此版本还原更改”,它似乎做了一些事情,但我的工作副本保持不变。即使我在合并之前选择了修订版本并为整个主干选择了“还原到此版本”,它也不会对替换的文件执行任何操作。
我对如何恢复对这些文件的“替换”操作感到很遗憾。
*我认为这是因为在某些时候,从主干到分支的合并发生了错误。这些文件可能已经添加到分支机构而不知道它们来自主干,所以当它们重新集成时,它们会替换原始文件。
答案 0 :(得分:5)
部分解决方案:
我设法为替换文件手动获取历史记录,但我必须取消选中“停止复制/重命名”框以查看所有内容。我svn删除了最新主干的工作副本中的替换文件,在错误合并之前打开了repo-browser,选择了文件并选择了“Copy to working copy ...”。我已提交,现在文件可以再次访问其历史记录,但仍然将其视为已删除并重新添加。
答案 1 :(得分:0)
我要解决此问题的唯一方法是(在svn中继上) -根据提交之前的修订版本创建一个标签,其中包括我要还原的替换 -将中继线重命名为trunk2 -将先前创建的标签复制到主干 -要求所有人重新结帐行李箱
答案 2 :(得分:-1)
转到乌龟,获取行李箱的历史记录,选择“坏”修订版,右键单击并选择“恢复此修订版”。这将恢复在该修订中对您的工作副本所做的所有更改。然后,您可以将其签入并有效删除转速。
或者,选择您认为合适的修订版,单击它并选择“恢复到此版本”,这将撤消此后的所有更改。
重要提示:您最好使用新的,干净的,新检查的工作副本,主要是因为您确切知道您正在使用的状态。