我有两个版本的代码,我想在它们之间切换。如果我运行如何查看SVN中的旧版本?
svn checkout -r 5 file:///path.to.svn.repo
目前的版本中,目标目录是高于5,我不能回去。据我了解,这是故意的,我应该使用合并。合并更新最新版本,我不希望这样。有没有简单的方法来替代?
我想我可以将代码分成两个项目,但我不确定这是否是正确的解决方案。
我有两个版本的代码,我想在它们之间切换。如果我运行如何查看SVN中的旧版本?
svn checkout -r 5 file:///path.to.svn.repo
目前的版本中,目标目录是高于5,我不能回去。据我了解,这是故意的,我应该使用合并。合并更新最新版本,我不希望这样。有没有简单的方法来替代?
我想我可以将代码分成两个项目,但我不确定这是否是正确的解决方案。
为什么不检查旧代码到不同的文件夹?
例如
c:\MySource\
c:\MyOlderSource\
但是,如果您只想要一个文件夹,则合并是正确的方法。我不知道你的意思是合并会“更新最新版本”。它会更新您的工作副本(BASE版本),但不会更新存储库副本(HEAD版本),但这正是您想要的行为。
从我的理解,我相信你会想至少创建一个分支(或者两个,如果你想开发和发布分支)
所以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/
为什么不使用一些SVN客户端如乌龟svn,smart-svn或subclipse(我正在使用),如果你使用的是日食。他们一定会让你的生活变得更简单。 – aProgrammer 2011-12-15 12:48:11
为什么你需要两个版本?如果你有两个版本,比如说生产和开发,那么你需要跟踪分支或标签对于手工结账来说是更好的选择。 – AlG 2011-12-15 12:50:43