Svn:具有匹配修订的外部版本



假设我设置了一些svn:externals以从存储库中的其他地方提取一些资源:

../../path/to/scripts scripts
../../path/to/data data

我希望工作副本的每个部分都来自相同的修订,所以我不想将这些外部内容固定在特定的修订号上。如果我只是做一个svn up,它的工作方式就像我想要的那样:

Fetching external item into 'scripts':
External at revision 15000.
Fetching external item into 'scripts':
External at revision 15000.
At revision 15000.

然而,如果我尝试检查一个特定的修订(使用svn up -r 144444之类的东西),外部仍然来自最新的修订:

Fetching external item into 'scripts':
External at revision 15000.
Fetching external item into 'scripts':
External at revision 15000.
At revision 14444.

是否有一些svn:externals语法或一些罐装脚本或命令,我可以使用它来轻松地更新工作副本,包括其所有外部,到特定的修订?

(特别是,我不想做svn --ignore-externals,因为我也想更新外部到一个特定的修订,我不想把外部固定到一个固定的修订,因为我通常希望他们跟踪头。)

如果没有固定的外部,就没有简单的方法(并且使用固定的外部维护"always HEAD"是一个/容易的b/手工操作,可能会自动化)

对于非挂钩外部的"时光机",为了将整个WC的状态返回到主版本N的状态,您必须执行:

  • 在wrapper-WC svn log -l 1 -r N中写入时间戳DATE
  • 对于每个外部在每个外部WC svn log -l 1 -r {'DATE'}和写入修订号(X,Y,Z)
  • svn up -r N
  • 外部WCs的svn up -r (X|Y|Z)

所产生的混合工作副本将需要为您的结果(不是100%保证,因为在版本N和N+1之间的外部版本可能更新,但您没有它的踪迹)

相关内容

  • 没有找到相关文章

最新更新