2012-11-08 13 views
2

我想使用SVN externals在不同的项目之间共享代码文件。我需要问你一个关于这个功能的问题,但是要通过解释这种情况来解决这个问题。SVN Externals and Revision Association

  1. 我在SVN上创建了两个项目(目录):'A'和'B'。
  2. 'A'包含要在其他项目中共享的文件,其中一个名称为'shared.txt'。
  3. 'shared.txt'链接到'B'(使用'B'的svn:externals属性)。
  4. 除此之外,'B'包含其他源代码文件(一个完整的项目)。

现在的问题。我检查了一些较旧的'B'版本,以找出我将使用哪个版本的'shared.txt'。 不幸的是,无论我从测试存储库下载的'B'的历史版本,我总是得到最新版本的'shared.txt'。

让我们假设我想从几个月前下载项目'B'。在这几个月里,'shared.txt'发生了很多变化。但是我想要像几个月前一样下载一个完整的项目,以及那个特定时间的外部项目。

如果没有手动查找每个外部的适当修订版本,这可能吗?我知道我可以将特定版本的外部元素与我的测试项目'B'关联,但这不是解决方案。我猜如果我这样做,即使当我查看最新版本的'B',我也永远不会访问最新的外部。我是对还是错?

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

+0

我还需要解决这个问题,在开始讨论svn用户maillist导致以下功能请求。 http://subversion.tigris。组织/问题/ show_bug.cgi?ID = 4286 – Stefan

回答

2

是,这种形式的问题被问前一段时间在这里(水木清华,像“当svn的起来superrepo URL -r {DATE},使用此日期为的外部更新,如果他们是HEAD联”) ,它仍然没有很好的答案

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

替代解决方案

更多动作在发展过程中,少动随时间回

  • 始终定义与PEG-修订的外部
  • 监视器提交(因此 - 更改顶部修订版)为外部
  • 在external-commit执行外部定义的更改(使用额外提交)后(可能会在post-提交钩回购外)

FR为ASF“subrepos在主回购{DATE}操作的递归处理”将是有益的