SVN - 如何恢复到最旧版本

SVN - 如何恢复到最旧版本

在签出存储库后,我想将其恢复到最旧版本。有什么办法吗?除了运行

svn log | grep '|' > log

(我必须对多个文件夹执行此操作)。然后获取最后一行的第一个单词,然后删除“r”,然后将其转换为整数。这假设没有提交消息包含“|”,我猜这是一个安全的假设,但本身并不“正确”。

注意:我知道如何检出特定的修订号。

在目录中运行svn revert ./*也不起作用。执行此操作后,当我运行 时svn up,它显示“在修订版 __”(最新修订版)。运行svn co -r正常

答案1

您有两个问题。第一个是“如何快速找到存储库中目录的第一个修订版本”。这可能可以通过以下方式解决https://stackoverflow.com/questions/2675749/how-do-i-see-the-last-10-commits-in-reverse-chronoligical-order-with-svn使用svn log --limit 1 -r1:HEADwhich 可以限制您只显示目录中最早的单个日志消息。这使用“--limit 1”来仅显示单个消息,并使用“-r1:HEAD”来按从头到尾的顺序显示消息,而不是通常的从尾到头的顺序。

第二个问题是“一旦我知道了修订版本,如何让我的工作副本指向特定的修订版本?”

如您所知,svn co -r123将为您提供版本 123 的全新工作副本。如果您已拥有工作副本,则只需使用svn update -r123,即可将您的工作副本更新至该版本。

请注意,您还可以在修订说明符中使用日期,详情如下http://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html#svn.tour.revs.dates. 还支持一些关键字,如HEAD。

相关内容