使用git但推动mercurial?

rya*_*zec 6 git mercurial hg-git

我有一份新工作,但他们使用mercurial作为他们的版本控制,我的大多数经验都是使用git.我尝试学习mercurial,但它的分支方式(即使像书签这样的扩展)只是让我完全没有意义.有没有人知道在本地使用git的方法,但推动mercurial?

我已经尝试过hg-git插件并且已经达到了我可以在git中提交并将这些更改推送到远程mercurial repo的程度但是我遇到的问题是无论我找到什么教程,我都不能似乎将mercurial的新变化拉回到git(这使得整个事情在这一点上毫无用处).如果你有关于如何设置hg-git工作推送到mercurial的链接,请告诉我.

解决方案(我认为)

根据Lazy Badger的评论,我认为这将起作用:http://ryanzec.com/index.php/blog/details/9

Laz*_*ger 3

想了一些时间,看到替代解决方案,同样不平衡和弯曲,但不那么自命不凡(我希望) - 3 层链架构中的 3 个存储库(2 个 Mercurial + 1 个 Git)

他们有(本地)名称,使用如下:

  • Master (hg) - 公司的中央 Mercurial 仓库
  • Mediator (hg) - 用于翻译变更集的中间件,作为 Master 的克隆而创建
  • WorkHorse (git) - 最终工作场所,开始时为空

中介者的设置与解决方案 1 中的 hg-repo 几乎相同(hg-git、书签),除了 hgrc 的 [paths] 部分中的一个细节 - 将是两个路径:Master 和 WorkHorse,以便能够拉|推双向,Master 和 WorkHorse

工作流程:

  • 中介者从 Master 拉取更改,推送到 WorkHorse(更改集按原样呈现,不会崩溃,与解决方案 1 相反)
  • 所有(几乎?不确定合并)工作都发生在 WorkHorse 上
  • 中介者从 WorkHorse 拉取更改,推送到 Master