检查外部的旧版本

时间:2015-07-29 08:44:55

标签: svn tortoisesvn

我是SVN Tortoise的新手,我在理解修订版和外部版的组合方面遇到了一些麻烦。

我正在研究的S​​VN项目有几个外部。其中一些是标签,一些指向其他SVN库项目的主干。

当我尝试回滚并查看该项目的较旧版本时,我看到的内容似乎并不像几周前那样。指向库项目主干的外部不会回滚,但包含最新的更改。

是否所有外部都指向其他项目的标签,如果不是,那是否意味着您无法轻易获得先前版本的快照?

1 个答案:

答案 0 :(得分:4)

  

当我尝试回滚并查看该项目的较旧版本时,看起来我检查的内容与几周前不完全相同

是。如果外部定义没有PEG修订版,那么SVN就会按照#34;对于历史状态,没有任何额外的启发式,例如"哪个版本 HEAD用于主项目"中的修订版REV,并使用今天的数据

  

所有外部都应指向其他项目的标签

他们可以,不应该。但您也可以阅读SVN中的PEG |操作修订,并在可变目标中使用PEG规范(并在目标中出现新提交时更新定义)

只需比较这两个定义

Properties on 'tags\1.0.1':
  svn:externals
    -r 2 https://subversion.assembla.com/svn/subversion-trouble-shooting/trunk/lib@2 lib

即使/subversion-trouble-shooting/trunk/lib稍后会有其他提交,具有此类定义的外部项目将始终获得修订版2

Properties on 'trunk':
  svn:externals
    https://subversion.assembla.com/svn/subversion-trouble-shooting/trunk/lib lib

对于此定义,旧版本的trunk不会自动恢复lib的现有状态,您必须手动执行

  

如果他们不这样做,是否意味着您无法轻易获得以前版本的快照?

绝对(如果"轻松"因为你在超级回购中是纯粹的svn up REV