SVN外部和修订协会

时间:2012-11-08 20:27:35

标签: svn svn-externals

我想使用SVN外部代码在不同项目之间共享代码文件。我需要问你一个关于这个特征的问题,但是让我们通过解释这个情况来做。

  1. 我在SVN上创建了两个项目(目录):'A'和'B'。
  2. 'A'包含要在其他项目中共享的文件,其中一个名为'shared.txt'。
  3. 'shared.txt'链接到'B'(使用'B'的svn:externals属性)。
  4. 除此之外,'B'包含其他源代码文件(完整项目)。
  5. 现在的问题。我查看了一些较旧的'B'修订版,找出了我会得到的'shared.txt'的哪个版本。 不幸的是,无论我从我的测试库下载了哪个'B'的历史版本,我总是得到最新版本的'shared.txt'。

    让我们想象一下,我想在几个月前下载项目'B'。在这几个月里,'shared.txt'经历了很多变化。但我想下载一个完整的项目,就像几个月前一样,以及他们在那个特定时间的外部。

    如果没有手动查找每个外部的适当版本,是否可以实现?我知道我可以将特定版本的外部版本与我的测试项目“B”相关联,但这不是解决方案。我想如果我这样做,我将无法访问最新的外部,即使我查看最新版本的'B'。我是对还是错?

    感谢您的帮助(对不起,如果我的问题已被提出,但我找不到任何类似的问题)。

1 个答案:

答案 0 :(得分:2)

是的,这段问题在前一段时间被问到了(如同“当svn up -r {DATE}在superrepo网址中时,使用此日期进行外部更新,如果它们是HEAD - 链接“),它仍然没有好的答案

发现anwser是“你必须cd进入所有外部WC /目录 - 外部/和svn up -r {DATE}以获得同步状态”。我没有回答文件回购

替代解决方案

在开发过程中采取更多行动,减少行动时间

  • 始终使用PEG-revision
  • 定义外部
  • 监控提交(因此 - 更改顶级修订版)到外部
  • 在外部提交之后执行外部定义的更改以及其他提交(可能它可以在repo-external的post-commit hook中编写脚本)

ASF的FR“在主仓库中对{DATE}操作的子目录进行递归处理”将非常有用