Reputation: 53231
I'm trying to decide between Git and Mercurial and whatever decision I make, I'd like to know how difficult is to move from one SCM to the other.
I know there are export + import options in both tools, I'd just like to know if it will preserve things like branches, tags etc. Also, will there be other implications like broken references to commits from bug tracker etc.?
Upvotes: 4
Views: 636
Reputation: 97282
While Git and Mercurial are common in roots, they have some significant differences
Upvotes: 0
Reputation: 73758
Let me answer your two questions:
It can be mostly effortless to map between the two systems since their underlying models are very similar. However, there are a few things that cannot be mapped back and forth. Two examples: names branches in Mercurial have no direct equivalent in Git, and Git octopus merges are not supported by Mercurial.
There are tools like hg-git that do a very good job of letting you use Mercurial as a client for a Git repository. It's a two-way bridge between the systems and this means that you can use it to convert in both directions. It works well for a lot of people and will preserve things like tags and branches.
Yes, there will be broken references from external tools — though both tools use SHA-1 to generate the changeset hashes, they has different things and so come up with different IDs for changesets that should otherwise be the same.
Upvotes: 7