[core-workflow] Help needed: best way to convert hg repos to git?

Petr Viktorin encukou at gmail.com
Sat Feb 6 11:57:47 EST 2016


On 02/06/2016 05:48 PM, Oleg Broytman wrote:
> On Sat, Feb 06, 2016 at 04:50:51PM +0100, Oleg Broytman <phd at phdru.name> wrote:
>> Hello!
>>
>> On Sat, Feb 06, 2016 at 01:57:15AM +0000, Brett Cannon <brett at python.org> wrote:
>>> https://www.python.org/dev/peps/pep-0512/#define-commands-to-move-a-mercurial-repository-to-git
>>>
>>> There appear to be multiple ways to convert hg repos to git, but no clear
>>> winner. It would be great if some one/people took on the task of evaluating
>>> the tools available out there by converting the cpython repo and seeing
>>> which one has the best results.
>>
>>    Let's me try git-remote-hg transport.
>>
>> $ hg clone https://hg.python.org/cpython/ cpython-hg
>>
>> $ time git clone hg::cpython-hg cpython-git
>> real  39m44.600s
>> user  45m54.192s
>> sys   1m4.184s
>>
>> $ cd cpython-git/
> 
> $ git remote add gh git at github.com:phdru/cpython.git
> 
> $ git push --all gh
> 
>    See the result at https://github.com/phdru/cpython

You might also want to try something like

   $ git repack -a -d -f --depth=250 --window=250

after importing to decrease the size of the repository for everyone
pulling from you.

(Reference: https://gcc.gnu.org/ml/gcc/2007-12/msg00165.html)



More information about the core-workflow mailing list