[isabelle-dev] [OT] Reasons mira crashes

Lars Noschinski noschinl at in.tum.de
Thu Nov 29 12:02:48 CET 2012

On 29.11.2012 11:49, Makarius wrote:
>>> For future changes it might be worth to keep in mind that the
>>> Mercurial project considers the python interface as internal:
>>> http://mercurial.selenic.com/wiki/MercurialApi
>> Right. This classification has somehow changed over the years. Back in
>> 2008, use of the API was encouraged more. Switching to a CLI interface
>> requires a bit of work, though.
> Just to recall the original motivations for using Mercurial instead of
> Git (which was not as aggressible marketed in 2008 as now so there was a
> genuine choice to be made):
> (1) Mercurial emphasizes a nice semantic model of monotonic history and
> immutable changes (in coincidence with the Isabelle/ML approach and
> the then emerging PIDE document model).

This is true for the UI, for the underlying model Git is the pure one: 
If you do e.g. a rebase, mercurial makes a non-monotonic change to its 
storage, while Git preserves the old history, and only changes the 
branch pointer.

> The slight tendency away from Python APIs is another thing. Since
> Isabelle/Scala is the official system programming language for quite
> some time already, I've occasionally checked the situation for JVM-based
> access to Mercurial operations. Projects like http://hg4j.com/ are not
> very far yet.

JGit is said to be stable and full-featured.

[But of course, changing our choice is not an option at this point.]

   -- Lars

More information about the isabelle-dev mailing list