2013-07-26 83 views
0

我用TortoiseSVN和VisualSVN使用ProjectLocker。我可以将我的修订历史恢复到SVN吗?

昨晚,在试图找出一个奇怪的问题时,我将一对文件恢复到了生产中的最后一个日期。这恰好是约3-4修订回来。

当旧文件不能帮助解决问题时,我尝试进行更新以返回最新版本的两个文件。

我现在看到了(感谢“类似问题”),我应该使用更新到版本而不是还原。

问题是,我能否以某种方式恢复这些修订?

回答

1

在恢复之前,您应该能够恢复到修订版本。

SVN不直接支持回滚(如乌龟称它为“回复”)。相反,它需要从旧版本复制并复制新版本。

但是,这仍然留下您正在恢复的修订版本。当你恢复这个时候,你可能需要使用peg修订版(例如修订版123,你将恢复为http://mysvndomain.com/repos/foo/[email protected]

+2

在Subversion中,“revert”*确实有意义 - 但不是这里使用的意思。 Subversion“恢复”是撤销工作副本中未提交的更改。这里描述的内容更好地描述为“撤消或回滚一组修订”。 – alroc

+1

TortoiseSVN滥用“还原”一词。其日志对话框还可以选择“恢复到此修订”并“恢复此修订所做的更改”。第一个实际上的意思是“把你的工作副本放在这个提交之后”。第二个实际上意味着“撤消工作副本中此提交所做的更改”。 –

+0

我已经调整了答案,使这个更清晰一点。 –

1

恢复您的恢复,这些文件将像2修订前。

1

“revert”在Subversion中有特殊含义,而不是你用它来。这里的一个颠覆revert意味着撤消工作副本中的任何未提交的更改 - 库状态不会在这种情况下,触及

更新到版本也是在这里不适用,因为你不能从那个状态提交

。你最初应该做的是所谓的reverse merge。你应用一个或多个更改的合并来将存储库状态转换回它是在以前的版本(最后一次生产版本)中,而不是仅仅复制文件,然后将它们作为新版本提交。您仍然可以在您当前的情况下执行此操作 - 反向合并您刚刚提交的更改并进行提交。这会让你回到“最近的”。您的修订历史看起来有点奇怪,但并未完全破碎。

相关问题