[isabelle-dev] Further plans for https://isabelle.sketis.net/repos

Makarius makarius at sketis.net
Tue Aug 27 22:08:50 CEST 2019

On 23/08/2019 22:35, Makarius wrote:
>   https://github.com/phacility/phabricator

The blurb says "Open software engineering platform and fun adventure
game" and indeed it is: the authors have an odd sense of humor (e.g. in
the documentation), but the overall product is quite impressive and fun
to work with. Occasionally there are riddles to solve in a dark dungeon,
e.g. proper ssh setup for hosted repositories.

I've now managed sufficiently well to show something as a demo:


A bit later, I will make a fresh re-installation as something that is
ready for production, to support the normal isabelle-dev process, e.g.
with trackers, wikis, blogs for NEWS etc. (That was my original plan for
Phabricator some time ago.) Note that there are further "apps", e.g.
some Q&A facility similar to Stackoverflow, and a Chat system (which I
am not going to use myself).

It is easy to say many good things about Phabricator, so here are some
problems that I have encountered so far:

  * Importing repositories is a very heavy operation: Phabricator makes
a copy of the history in its own MySQL database (uniformly for svn, hg,
git). This can take hours for large ones, e.g. the jedit svn, or the
isabelle hg with > 70000 changesets. While the process is running, other
repository imports need to wait in the queue.

  * The overall model of the platform requires to get used to: it is not
primarily a repository hosting platform, but a general environment for
software development, with reviews, discussions, documentation etc.
Sometimes this leads to rather complex menu hierarchies to do basic
things, e.g. to create a new repository, import a clone, export it via a
new URL etc. After having learned how to think about it, it is rather
smooth and simple, though.

  * Minor point: hgtags information is somehow missing. Maybe a
conceptual mismatch of how tags work in Mercurial. It should be possible
to address that eventually, e.g. by some Phabricator tools in
Isabelle/Scala (which could work with the server via its SSH/JSON API.)

> I specifically like this note in the README:
> """
> We do not accept pull requests through GitHub. If you would like to
> contribute code, please read our Contributor's Guide.
> """

Side-remark: that "Contributor's Guide" is

Reading that, it becomes clear that these guys have their own culture
apart from the grey masses using Github in the "standard" way.

Overall I do like it, despite the slight tendencies of over-featurism.


More information about the isabelle-dev mailing list