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
_______________________________________________
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev