On Fri, Apr 22, 2016, 18:45 Senthil Kumaran <senthil@uthcode.com> wrote:
Hi Brett,

On Fri, Apr 22, 2016 at 4:27 PM, Brett Cannon <brett@python.org> wrote:
Now that I'm comfortable declaring the code for the CLA bot finished (https://github.com/python/the-knights-who-say-ni), the next step is to finalize the command(s) we are going to use to convert hg repositories to git for migration to GitHub. Senthil, are you ready to make a final decision?

Yes. I did experiments while collating points from others with multiple tools and I found that hg-git could be suitable for our export.
It won't be a single command due to the size of our repo. It will be a multi-step process.

1. Initialize local a bare git repo
2. Use hg-git to migrate from local hg to local git repo.
(Ensure the migration was complete. With branches as desired).
3. And finally, push the local git repo, 1000s of commits at a time to remote repo. 

I had tried it myself and was successful with this approach.

The other tools and approaches I tried had failed for me.

Here's my plan and a to do:

1. Even though it is a one-time operation, I plan to convert above steps into a trivial tool that we can use and verify independently.
2. Once we are satisfied with our local trials, you could use this tool once to convert the hg repo and push to canonical git repo.

todo
 
* I haven't talked to the maintainer of https://github.com/python/cpython repo yet. I should do that and see what differences will be between the semi-official mirror and repo created by the importing tool. It will help us make a more informed decision.

I will follow up an update on this and the tool. 

Great! Obviously the tool is more important as that is a blocker for devinabox while talking to Eli Bendersky about the mirror isn't.

-Brett


Thanks,
Senthil