svn结帐不同版本的单一结账?

时间:2011-08-03 18:54:08

标签: svn

基本上这就是我想要做的事情:我想查看特定版本的代码,但如果该版本不可用,请查看最新版本。不知怎的,我无法想象如何做到这一点。我尝试的方法很少:

  1. svn co <url> -r HEAD:75
    不起作用;似乎不能使用结帐的修订范围

  2. svn co <url>
    svn co <url> -r 75
    这会清除原始文件,这些文件的版本不是75

  3. 基本上我希望它签出一个特定的版本,并获得最新版本的文件,或者至少不删除现有版本。

    还有其他办法吗?

    感谢所有帮助!!!

2 个答案:

答案 0 :(得分:0)

SVN的一个优点是它被认为是原子的,所以所有发生或 none 发生。没有中间步骤,“事情”有效。

更重要的是,由于SVN的版本号基于整个存储库而不是文件级,因此如果您需要最新的每个文件,那么您可以抢先一步。根据定义,它将是最新的一切。

如果您担心某些文件/功能是完整的,可能会破坏您的部署,分支将使您的生活更轻松。只需创建一个新分支并在那里进行实验开发,直到您准备好合并为止。它并不像Git那么容易,但99%的时候都不是太糟糕。

答案 1 :(得分:0)

如果只获取文件的副本但不在SVN工作目录中是可以接受的,那么您可以使用svn export命令从两个不同的版本中提取出两个不同的版本进入同一目录:

svn export -r HEAD
svn export -r 75

r75副本应覆盖已存在的文件的HEAD修订版中的任何内容。免责声明:我没有对此进行测试。