Fog Creek - the company created by Joel Spolsky and, perhaps, known to you for the product
Trello , last week presented its new project, which was kept secret for a long time:
Kiln Harmony . This hosting is Mercurial (hg) and git repositories. Unfortunately, only paid, there is only 45 days of the trial period. What is the news, you ask, if Mercurial + git hosting is already on the market and, including, free, like Bitbucket.org? The peculiarity of Kiln Harmony is that one hosting repository is both a Mercurial and a git repository at the same time! According to the developers, the great holivar is finished and now you can focus on coding, and not on the choice of version control system. Push and pull into a single repository hosted on Kiln Harmony from your favorite version control system (Mercurial or git) does not require the installation of separate extensions, such as hg-git, or other special gestures, all the magic happens on the server.
And there is actually a lot of magic there.

To begin with, when working through the web, you will notice the switch “Show as in Git” or “Show as in Mercurial”. In most interfaces, such as viewing the files themselves or diffs, there is no difference. Nuances appear when viewing subrepositories and submodules.
Branching is a special question, since it is in the approach to the branches that Mercurial and git have the most differences. However, the Fog Creek team set as its goal not to change users' habits. You are working with Mercurial or with git - you do not have to remember any features of another system or rebuild your usual workflow.
')
If your repository is simple enough and has only one branch - in this case, everything is transparent: git master synchronizes with the Mercurial tip.
If there are several branches in the git repository, then they turn into bookmarks in Mercurial - this solution is also obvious in most holivars (including in Habré) it was repeatedly discussed that git branch = hg bookmark.
The magic begins when you try to translate the branches in the opposite direction from Mercurial to git. First, Mercurial has anonymous branches without a unique branch name or bookmark, which in git doesn't look good. Secondly, in Mercurial there are so-called “named branches”, which are not at all like the git branch and there is no analogue in git. Article for self-development:
Mercurial: a guide for creating branches . To solve this problem, the guys from Fog Creek arrived slyly - bookmarks are automatically assigned to all anonymous branches and the git branch = hg bookmark scheme starts working accordingly. And Mercurial “named branches” are translated into git refs (a knowledgeable reader will immediately notice that with this approach, there will be a loss of information, but a more detailed description of the subtleties of the algorithm is beyond the scope of this review article).
So does this mean that if I have worked with Mercurial all my life and have not used bookmarks, then now I will have to study them, because Will they automatically start appearing on all anonymous branches? The answer is no! The magic happens automatically somewhere on the server. And you can use the old version of Mercurial, which does not even support bookmarks.
More details about other nuances and their technical implementation can be found in a separate article on the developer blog:
Detailed articles on exactly how Kiln Harmony works . In addition, everyone is welcome to the
Q & A session on March 19:
Kiln Harmony Live Q & A.Personal look.
I am an active Mercurial user and a passive git user (git is everywhere, otherwise nothing!). Sometime at the beginning of my journey I dreamed of such a service, I tried hg-git and other perversions. In my opinion, both systems have their pros and cons. The final choice in our time depends more on the specific development team and on the working environment, and not on those or other unique functions, which are not so many. If you own git and get into a team where you are forced to use Mercurial, it's easier to learn Mercurial, and vice versa. This can be done by any technical specialist and does not take much time, and in the future it will save much more manpower and resources when communicating with colleagues. So the service is unlikely to fly, besides for $ 25 a month per user.