My experience with a bidirectional mirror:

On 05/30/2013 07:11 PM, Ehsan Akhgari wrote:
Nicolas (nbp) built <https://github.com/nbp/git-hg-bridge> a while ago, and
while the existing implementation is not good enough for a scale of multiple
developers using it, I have had plans to fix that (unfortunately I never
gotten around to document that...)  I would be happy to share more details
if needed.

As Eshan mentioned, in its current version, this does not scale because the current design use file system locks to prevent multiple modifications of the hg-side of the bridge. Also pushes are taking way more time as the mirrored repositories have more changesets / commits, this was not the case back in 2011.

The maintenance overhead that I had with this git-hg-bridge is about ~14 days since I started this project. Most of it being caused by the lack of knowledge of mercurial, some errors in hg-git conversions and the migration to add CVS history.

With this tool finalized, we can push to hg through git (in an entirely
transparent manner).

I have been using this git bridge since December 2011.

Currently, I am mirroring inbound, central, aurora and beta. I made a few shell script to commit branches to try using this mirror. My local git repository has 386 branches (I should probably clean-up one day).

I am using top-git to work on my patches, where each branch represent one patch. I am doing back-up of my work on my personal server, and sharing a few branches through a Github clone. Also, the git repository that I am using contains the CVS history.

The only case where I am still using mercurial is when I need to commit patches for someone else, as I want to avoid adding mistakes by importing a patch in git (which does not understand mercurial meta-data).

On 05/30/2013 05:56 PM, Johnny Stenback wrote:
> [TL;DR, I think we need to embrace git in addition to hg for
> Firefox/Gecko hacking, what do you think?]
>
> 1: Embrace both git and hg as a first class DVCS.
> 2: Switch wholesale to git.

I love git flexibility, still I can understand that people like mercurial simplicity and tools that already exists on top of mercurial. I do not recommend completely switching to git.

I think maintaining both is a good way to bring more contributors, and not necessary git users. Based on my experience the mirror it-self is not a big source of trouble. On the other hand, I have no idea of the over head of doing that across multiple mirrors as we currently do with mercurial repositories.

--
Nicolas B. Pierron

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to