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

Re: Another way to compare tools: is it possible to transfer full history?

From
Tomas Carnecky <tom@dbservice.com>
Date
Sep 28, 2010, 14:53 UTC
Message-ID
<4CA20169.2040606@dbservice.com>
In-Reply-To
<loom.20100928T153519-936@post.gmane.org>
On 9/28/10 3:44 PM, Tuomo wrote:
Show 10 quoted lines
> I have seen lots of comparisons between source control tools, 
> but have not found a comparison that would explain the fundamental differences 
> and similarities in a way that would really let me choose. 
> So I decided to try a new approach: if one tries to transfer the full history 
> of an application or a larger product/project, which features can I rely on 
> finding in any decently recent tool?
> 
> Let's start from Git vs. Mercurial: is it possible to move the whole history 
> of an application (with or without submodules) from Git to Mercurial? 
> From Mercurial to Git? 

fast-import/export (man git-fast-export/import) seems to be the future. Git provides excellent support for it and other SCMs are adopting it as well. And then there are custom written conversion tools, just take a look at [1] to see which ones are available.

(shameless plug: just this weekend I started collecting the various fast import/export tools and made a webpage about it: http://caurea.org/fast-export-import/. It's far from complete though. And if you know any tools that perform better than those I've listed, I'd be glade to update the page).

> If it is not always possible, what is the feature that might completely 
> prevent the whole attempt? If partial transfer is possible, what information 
> might be missing in the result?

Not all SCMs have the same features. Subversion for example doesn't have real branches, tags nor merges (in the same sense that Git does). And even in distributed version control systems there can be differences. Git history can't be mapped 1:1 to Mercurial (octopus merges come to mind). Some of these things can be reasonably emulated, some can't and you loose that information.

tom

[1] https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools#Interaction_with_other_Revision_Control_Systems

Previous: TuomoNext: Michael Haggerty
Message 2 of 11 in “Another way to compare tools: is it possible to transfer full history?”
  1. TuomoSep 28, 2010
  2. Tomas CarneckySep 28, 2010
  3. Michael HaggertySep 28, 2010
  4. Jonathan NiederSep 28, 2010
  5. Sverre RabbelierSep 28, 2010
  6. TuomoSep 29, 2010
  7. Andreas EricssonSep 29, 2010
  8. TuomoSep 29, 2010
  9. Andreas EricssonSep 29, 2010
  10. TuomoSep 29, 2010
  11. Bruce StephensSep 29, 2010

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.