我想在两个版本的代码之间交替使用。如果我跑
svn checkout -r 5 file:///path.to.svn.repo
目标目录中的当前版本高于5,我无法回头。根据我的理解,这是有意的,我应该使用merge。合并更新最新版本,我不希望这样。是否有一种简单的替代方法?
我想我可以将代码分成两个项目,但我不确定这是否是正确的解决方案。
答案 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/