如何在SVN中查看旧版本?

时间:2011-12-15 12:44:24

标签: svn version-control

我想在两个版本的代码之间交替使用。如果我跑

svn checkout -r 5 file:///path.to.svn.repo

目标目录中的当前版本高于5,我无法回头。根据我的理解,这是有意的,我应该使用merge。合并更新最新版本,我不希望这样。是否有一种简单的替代方法?

我想我可以将代码分成两个项目,但我不确定这是否是正确的解决方案。

2 个答案:

答案 0 :(得分:3)

为什么不将旧代码签出到另一个文件夹中?

e.g。

c:\MySource\
c:\MyOlderSource\

但是,如果您只想要一个文件夹,那么合并是正确的方法。我不知道你的意思是合并将“更新最新版本”。它将更新您的工作副本(BASE版本),但不会更新存储库副本(HEAD版本),但这正是您想要的行为。

答案 1 :(得分:1)

根据我的理解,我相信您会想要创建至少一个分支(如果您想要开发和发布分支,可能需要两个分支)

所以svn cp -r5 file:///path.to.repo/trunk file:///path.to.repo/branches/development将是从旧版代码创建分支的典型方式。

这基本上复制了trunk目录查看版本5的方式并将其放入新位置“branches / development”

现在我假设您以标准的svn方式(使用主干,分支和标记)设置存储库,无论此设置如何,仍然可以使用此命令。

您可能还对svn switch命令感兴趣,该命令允许您将工作副本从存储库的一个区域切换到另一个区域。或者你可以只签出2份工作副本(取决于我猜你需要多少磁盘空间)

有关命令等的更多信息,请参阅svn redbook:http://svnbook.red-bean.com/