Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial 使用HG在两个不同的repo中同步文件_Mercurial - Fatal编程技术网

Mercurial 使用HG在两个不同的repo中同步文件

Mercurial 使用HG在两个不同的repo中同步文件,mercurial,Mercurial,我尝试在两个不同的repo中同步文件时遇到问题。我想做的是: 我有两个回购协议A和B,它们共享一些公共文件,假设它们位于A/docs/common/和B/docs/common中。因此,当我在A中编写一些新文档时,我想将其更新为B,反之亦然。我该怎么办 我试着这样做:我在a中写一个.hgignore来忽略我不想同步到B的文件,然后尝试hg推送B的repo url。它不起作用 那我该怎么做呢 谢谢。如果我读得正确,并且您的存储库根目录位于docs目录之上(测试:hg root说/file/path

我尝试在两个不同的repo中同步文件时遇到问题。我想做的是:

我有两个回购协议A和B,它们共享一些公共文件,假设它们位于A/docs/common/B/docs/common中。因此,当我在A中编写一些新文档时,我想将其更新为B,反之亦然。我该怎么办

我试着这样做:我在a中写一个.hgignore来忽略我不想同步到B的文件,然后尝试hg推送B的repo url。它不起作用

那我该怎么做呢


谢谢。

如果我读得正确,并且您的存储库根目录位于docs目录之上(测试:
hg root
/file/path
不是
/file/path/A
),那么您当前的soln在两个repo中都忽略了文档之外的文件,将无法工作,因为mercurial会将完整的文件路径跟踪回根目录,to
A/
B/
是您的文件路径的一部分,因此它们在不同的回购中是不同的,使它们成为独立的回购

您可以做的一件事是将单据作为子回购协议,在a和B中都“包含”。然后您可以推/拉单据,单独的、不同的父回购协议将跟踪它们更新到的单据上的点

如果我误读了您的原始情况,A和B只是单独的克隆,文档是两个repo中路径相同的顶级目录(测试:
hg root
is
/file/path/A
file/path/B
),那么您就得到了一个完全正常的mercurial情况,应该可以正常工作。只要确保您正在提交、推送(或拉送)和更新,您就会看到更改迁移到不同的位置