处理子目录项中的共享依赖项

时间:2014-05-14 18:31:03

标签: mercurial

这是(我猜测)一个不太常见的事件,但是人们如何处理subrepos中的常见链接?这可能只是其中一个原因,即为什么子座是一个痛苦的使用。

 Subrepo A has a subrepo B at rev 5
 Subrepo C has a subrepo B at rev 10
 Subrepo D has A and C. There is now a conflict between the Bs in some build systems.

所以你得到了依赖结构:

  D___A__B
   \__C__/

即使您设法让A和C指向相同的修订版,仍然会有两个代码副本产生冲突。

可能更好的是说" A要求B在第5版。"并且" C要求B在第10转。"并且" D要求参考X"并且" D在ref X"和" A在这里,B在这里,C在这里,D在这里,找到冲突"但我认为目前不可能。

1 个答案:

答案 0 :(得分:0)

你不会处理它,而这是一个不常见的情况。

首先,在目录外有一个子仓库是greatly discouraged,并且该设置至少需要一个外部子仓库。

其次,即使你设置了一个外部回购,也更不希望有多个回购持有对单个回购的引用。

所以是的,这是可能的,但是进入那种状态已经很难了,如果有人真的带着这个来找我,我告诉他他应该重新考虑他的配置。无论如何,这里有一股难闻的气味,处理这个问题并不是一件好事。