git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: mercurial to git

From
RRRocco Rutte <pdmef@gmx.net>
Date
Mar 15, 2007, 22:07 UTC
Message-ID
<20070315220705.GD31087@peter.daprodeges.fqdn.th-h.de>
In-Reply-To
<20070315210406.GA8568@thunk.org>
Hi,
* Theodore Tso [07-03-15 17:04:07 -0400] wrote:
>Hopefully you won't mind that I'm adding the git list back to the cc
>line, since it would be useful for others to provide some feedback.
Not at all. Just wondering when others would get too bored... :)
Show 5 quoted lines
>Actually, there *is* an hg-fast-import.  It exists in the hg sources
>in contrib/convert-repo, and it is being used in production to do
>incremental conversion from the Linux kernel git tree to an hg tree.
>So it does handle octopus merges already (it has to, the ACPI folks
>are very ocotpus merge happy :-).

I know convert-repo and like it as a starting point. But it has some problems like not properly creating hg branches, can import only one branch at a time which must also be checkout out on the git side, etc.

With 'hg-fast-import' I meant something like git-fast-import where clients can feed in more raw data instead of preparing each commit on its own and comitting it.

[...]
>So more practially, here are some of the things that we would need to
>do, looking at hg-fast-export:
>*) Change the index/marks file to map between hg SHA hash ID's instead
>of the small integer ordinals.  This is useful for enabling multisite
>conversion, but it is also useful for tracking tag changes in .hgtags.

The small numbers are the hg revision numbers which we'll need for git-fast-import. Ideally git-fast-import would allow us to use anything for a mark we want as long as it's unique. But I'm sure there's a cheap way of mapping revision to SHA1 in the hg API.

So, if anybody wants to join in writing up such a hybrid system, I'm for it. :)

   bye, Rocco
Previous: Theodore TsoNext: Simon 'corecode' Schubert
Message 17 of 19 in “mercurial to git”
  1. Rocco RutteMar 6, 2007
  2. Theodore TsoMar 6, 2007
  3. Rocco RutteMar 6, 2007
  4. Josef SipekMar 6, 2007
  5. Theodore TsoMar 7, 2007
  6. Rocco RutteMar 8, 2007
  7. Shawn O. PearceMar 7, 2007
  8. Rocco RutteMar 8, 2007
  9. Shawn O. PearceMar 7, 2007
  10. Rocco RutteMar 8, 2007
  11. Theodore TsoMar 15, 2007
  12. Rocco RutteMar 15, 2007
  13. Theodore TsoMar 15, 2007
  14. Rocco RutteMar 15, 2007
  15. Linus TorvaldsMar 15, 2007
  16. Theodore TsoMar 15, 2007
  17. Rocco RutteMar 15, 2007
  18. Simon 'corecode' SchubertMar 17, 2007
  19. Len BrownMar 16, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.