[isabelle-dev] Future and maintainance of ~isabelle/contrib_devel at TUM NFS

Makarius makarius at sketis.net
Thu Jun 28 21:54:39 CEST 2012

On Thu, 28 Jun 2012, Tjark Weber wrote:

> On Wed, 2012-06-27 at 18:14 +0200, Alexander Krauss wrote:
>> Which one should be the master? Intuitively, I like the mindset "1
>> component = 1 package = 1 tarball", but regarding the directories as
>> the master and using tarballs as a mere distribution mechanism is
>> equally valid IMO.
> Directories would be more amenable to version control than tarballs, if
> that makes a difference.

Proper versioning (with Mercurial) would solve several problems:

   * canonical identification of *the* true content of component repository
   * Unix permissions done right in shared space
   * built-in ssh/http pull

It introduces another problem though: management of many/large binary 
files over a long time.

I've tried what happens when the universal jdk-6u31 directory (690 MB, 
with many files, and approx. 10 files > 10..50MB each) is added to a 
Mercurial 2.2 repository:

   * .hg 390 MB
   * working dir 690 MB
   * commit and pull in the range of a few minutes

This does not sound very attractive in the long run, say with 10 different 
JDK versions in the repository.

Nonetheless, one could try this relative new 
http://mercurial.selenic.com/wiki/LargefilesExtension.  It seems to 
combine the advantages of distributed version control with old-fashioned 
centralized one.  It is officially in cluded in Mercurial 2.x.

I've also looked briefly what git offers here, but it is not fundamentally 
different.  I would like to avoid administering more than one kind of VCS 
anyway, and SVN is definitely anathema.


More information about the isabelle-dev mailing list