[isabelle-dev] Sunsetting Mercurial support in Bitbucket

Lars Hupel hupel at in.tum.de
Fri Aug 23 14:09:39 CEST 2019

> What are the objective reasons for us to stick with Mercurial? What
> are its real benefits over Git?

I obviously can't speak about Makarius' personal taste, but as far as I 
have observed, the criticism of Git wrt Mercurial usually falls into two 

1) more complex UI; i.e. it is easier to produce "Git accidents" than 
"Mercurial accidents"
2) the cultural emphasis on rewriting history as opposed to Mercurial's 
approach of monotonic changes

Both of them have been (and continue to) losing their truth over the 

1) From observing Mercurial and Git users alike, I don't see a large 
difference of "accidents per action" (this is completely subjective of 
course). As a power user, the criticism gets inverted: it is much easier 
to recover from Git accidents than from Mercurial accidents.
2) Git users have largely been moving away from this, at least 
concerning mainline development, to the extent that most productive Git 
repositories reject non-monotonic changes. Ironically, none of our 
Mercurial repositories in the Isabelle ecosystem do that. Also, the 
Mercurial developers have in the past produced several extensions that 
try to provide a way to evolve private changesets.

There are various other technical points about learning curve, 
performance etc., but the fact remains that for most use cases, Git and 
Mercurial are extensionally equivalent.


More information about the isabelle-dev mailing list