Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SVN中签出旧版本?_Svn_Version Control - Fatal编程技术网

如何在SVN中签出旧版本?

如何在SVN中签出旧版本?,svn,version-control,Svn,Version Control,我想在两个版本的代码之间切换。如果我跑 svn checkout -r 5 file:///path.to.svn.repo 目标目录中的当前版本高于5,我无法返回。据我所知,这是有意的,我应该使用merge。合并更新最新版本,我不想这样。有没有一个简单的方法来替代 我想我可以将代码分为两个项目,但我不确定这是正确的解决方案。为什么不将旧代码签出到另一个文件夹中 e、 g 但是,如果您只需要一个文件夹,则合并是正确的方法。我不知道你说的合并将“更新最新版本”是什么意思。它将更新您的工作副本(基

我想在两个版本的代码之间切换。如果我跑

svn checkout -r 5 file:///path.to.svn.repo
目标目录中的当前版本高于5,我无法返回。据我所知,这是有意的,我应该使用merge。合并更新最新版本,我不想这样。有没有一个简单的方法来替代


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

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

e、 g


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

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

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

这基本上复制了trunk目录在修订版5中的外观,并将其放入一个新位置“Branchs/development”

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

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


查看svn红皮书,了解有关svn中命令等的更多信息:

如果您正在使用eclipse,为什么不使用一些svn客户端,如tortoise svn、smart svn或subclipse(我正在使用)。它们肯定会让你的生活更简单。为什么你需要两个版本?如果您有两个版本,比如生产和开发,您需要跟踪分支或标签,这是手动签出的更好选择。我想在这两个版本之间切换,因为它们的工作方式略有不同。我写的所有代码都是为了我的博士学位。项目和我希望能够在不同版本的代码之间轻松切换。用完,而不是合作。完全重复的我太懒了重复我的答案,所以-的OP.OP-不要写重复!!!谢谢这是我的解决方案。我只需删除本地src文件夹并重新创建它。是否有方法签出特定版本中的特定文件?有没有办法给这个文件版本起一个直观的名字(比如runner、debugger等)?
c:\MySource\
c:\MyOlderSource\