两种情况,一种工作方式不适用于它们:
结论: ... apache配置或apache和amp;之间集成的东西mercurial正在使回购“无关”.... 有任何想法吗???为什么我需要强制执行第一个场景但不必在第二个场景? ...我通过tortoisehg和命令行尝试了两种方案。
答案 0 :(得分:1)
我不知道你的情况究竟出了什么问题,但我打电话告诉说,当mercurial说'无关'时它意味着:这两个存储库没有根或根。
通常,mercurial存储库具有单个根,版本0,并且具有相同根的任何存储库都可以推送到它。存储库可以有多个根,通常是某人执行push -f
的结果。
所以你在场景一中所做的事情应该完全奏效。如果不是,那么你的apache配置指向http://SERVER/HG/B
以外的地方而不是你认为它应该是(可能是一个糟糕的RewriteRule
或RedirectMatch
或ScriptAlias
,或者你的Repo B没有从你想的那样克隆来自Repo A,或者在最初克隆B之后,Repo A或B从根本上改变了。
如果用于修改该节点,有些工具会改变根(修订版0)节点的哈希码:mq,histedit,strip,rebase等。这是因为更改哈希值会完全改变那些工具的回购默认情况下禁用,仅用于本地未推送的更改。
要开始调试,请转到SERVER,看看如果您在文件系统级别的repos A和B之间进行传入或传出会发生什么。如果那些人抱怨你知道它不是apache,如果他们这样做,那么这就是你的Apache设置。