2015-04-05 42 views
1

在我们的项目中,由于团队运营方式和公司安全策略,两个存储库内托管的代码库相同,其中一个是git,第二个是mercurial,团队的一部分通常会提交到mercurial回购,第二部分承诺到git比较来自git和mercurial存储库的来源并同步它们

由于这样一种奇怪的方式使用一些时间代码库在2个仓库中停止同步,我需要再次同步。

所以最初我有2个问题:

  1. 如何从Git的比较来源和Mercurial
  2. 如何将它们进行同步。

UPD1:在同步的情况下,我不认为它必须是非常高级的,如具有相同的提交历史或类似的东西。如果只是将文件置于相同的状态(在可能的情况下,在其他情况下手动合并) - 这将不仅仅是完全正确。

+1

希望您创建了这些存储库,以便它们具有现有的关系,例如,使用['hg-git'](http://hg-git.github.io/)从Git创建Mercurial存储库。这是这种情况,还是他们完全独立? – Chris 2015-04-05 17:53:08

+0

它是一开始就是大型git存储库的一部分。比一些库被提取并为他们创建了一个mercurial仓库。不要认为使用了hg-git(当然不知道,当时不是该项目的一部分)。 – Ph0en1x 2015-04-05 17:56:24

+0

[hggit](https://bitbucket.org/durin42/hg-git)将更改集从hg中拉出/推入,然后合并? – 2015-04-06 23:56:13

回答

1

要比较源代码,您可以在您的计算机中克隆mercurial和git repo,并在这些目录上使用diff。例如:

diff -rq git_repo hg_repo | grep -v .git | grep -v .hg 

同步部分比较困难:它取决于在代码在两者之间偏离的情况下要执行的操作。我想你可以使用之前生成的差异列表手动完成,但我想不出更自动化的方式。

+0

谢谢,看我的问题更新。 – Ph0en1x 2015-04-05 18:00:52

相关问题