Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why Kiln is based on Mercurial, and not other (D)VCS

What were the reason for chosing Mercurial as a basis of FogCreek Kiln, a source control management system with tightly integrated code review, and FogBugz integration?

Why Mercurial, and not other (distributed) version control system, like Bazaar, Git or Monotone, or creating own version control system like Fossil (distributed software configuration management, including bug tracking and wiki) did?

What were features that make FogCreek choose Mercurial as Kiln engine?

like image 482
Jakub Narębski Avatar asked Nov 09 '09 23:11

Jakub Narębski


4 Answers

Here's an answer from one of the Kiln developers.

  • It provides real branching.
  • It's easy to use.
  • Windows support is very good.
  • It's fast.
  • It's powerful.
  • It's easily extensible.

Check out the full details here. They explained themselves quite thoroughly.

like image 159
deft_code Avatar answered Oct 01 '22 04:10

deft_code


Original answer (Nov. 2009, GitHub has only 1 years, Git only 4)

I really do not know, but I would venture "better Windows support", Windows being potentially the main platform for most of their client base.
Git is still too much a "unix/linux" product, with a "hopeful" Windows support through mSysGit.
Just read the tone of some of the MSysGitHerald articles, like the ninth one:

For a very long time, msysGit was pushed forward by the gang formed of Hannes, Steffen, Sebastian Schuberth and myself [Johannes Schindelin]. At some stage I got so frustrated that I stopped working on msysGit altogether. The reason is simple: it was no more fun. Way too many people asked for fixes or enhancements, and none of them offered contributions of their own. As I am not a Windows person (being a happy Linux user since 1994), the work on mSysGit was not rewarding enough for me to continue. So I stopped.
But in the meantime, things have changed.
We got contributions by ...

That does not inspire a great deal of confidence when it comes to push forward that tool to your IT boss. I am very happy with Git for a personal usage, and very grateful from the hard work of all mSysGit contributors, but in a big company, I would have a hard time making Git the default DVCS tool adopted by our Windows developers.
Both because of the learning curve, but mainly because the support level is not there yet.
That is only a personal opinion, and if you have a different experience deploying Git successfully, more power to you.

Mercurial being the closest DVCS to Git, and based on portable Python scripts (and not linux/unix-based sh scripts), it may be a pragmatic choice.


Update 2018, seven years later: yes, the Windows support for Git is now a reality.

And Microsoft has its entire Windows codebase into one (giant) Git repository: See "The largest Git repo on the planet": 3.5M files, 300GB, 4,000 engineers producing 1,760 daily “lab builds” across 440 branches in addition to thousands of pull request validation builds.
But this is with the addition of GVFS (Git Virtual FileSystem), which allows to dynamically download only the portions you need based on what you use.
This is not yet in Git native, although its integration has begun last Dec. 2017, with the implementation of a narrow/partial cloning.

Kiln advertises Git support as well:

Kiln, our best-in-class DVCS hosting solution, supports Git as well as Mercurial! GitHub is great. FogBugz is great. What could be even better? How about integrating them! FogBugz can be notified by GitHub Web Hooks whenever an incoming changeset comment mentions a case.

like image 35
VonC Avatar answered Oct 01 '22 04:10

VonC


When I looked at DVCS system I like Mercurial because.

  • The Mercurial developers seems to care about Microsoft Windows users.
  • The Mercurial developers do not thinks of Microsoft Windows users as being Unix users that are forced to use Windows.
  • Unlike a lot of open source developers, the Mercurial developers don't seem to hate Microsoft for making money.

Maybe the Kiln developers thought the same...
(All the main DVCS systems are good enough, otherwise other factors would come into play more)

This answer so now clearly out of date as Microsoft owns github and git is now in very common use on Windows.

like image 38
Ian Ringrose Avatar answered Oct 01 '22 04:10

Ian Ringrose


I can't speak for FogCreek, but I know when I was choosing which DVCS to use many people commented that git does not work well on Windows (unless it's run in cygwin). Since FogBugz is designed to run on either Windows or a Linux systems (from what I understand--I am not a user myself) having an extra layer (cygwin) to run git may have been the determining factor there. I don't know much about Bazaar or Monotone, so I can't offer any feedback there.

like image 22
Stephen Newell Avatar answered Oct 01 '22 05:10

Stephen Newell