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.


        Makarius
_______________________________________________
isabelle-dev mailing list
[email protected]
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev

Reply via email to