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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/28/10 3:44 PM, Tuomo wrote:
> 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

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]