2011-12-15 70 views
2

我有两个版本的代码,我想在它们之间切换。如果我运行如何查看SVN中的旧版本?

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

目前的版本中,目标目录是高于5,我不能回去。据我了解,这是故意的,我应该使用合并。合并更新最新版本,我不希望这样。有没有简单的方法来替代?

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

+0

为什么不使用一些SVN客户端如乌龟svn,smart-svn或subclipse(我正在使用),如果你使用的是日食。他们一定会让你的生活变得更简单。 – aProgrammer 2011-12-15 12:48:11

+0

为什么你需要两个版本?如果你有两个版本,比如说生产和开发,那么你需要跟踪分支或标签对于手工结账来说是更好的选择。 – AlG 2011-12-15 12:50:43

回答

3

为什么不检查旧代码到不同的文件夹?

例如

c:\MySource\ 
c:\MyOlderSource\ 

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

1

从我的理解,我相信你会想至少创建一个分支(或者两个,如果你想开发和发布分支)

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

这基本上复制了trunk目录如何看待第5版,并把该到一个新位置“分支/发展”

现在我假设你设置你的资料库中的标准SVN的方式(与躯干,分支和标签),不管这个设置如何,它仍然可以使用这个命令。

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

看看SVN红皮书的更多信息,命令等在SVN:http://svnbook.red-bean.com/