Re: Revision control

From:

olafBuddenhagen

Subject:

Re: Revision control

Date:

Tue, 10 Jun 2008 23:59:36 +0200

User-agent:

Mutt/1.5.17+20080114 (2008-01-14)

Hi,
On Sun, Jun 08, 2008 at 01:18:25AM +0200, Arne Babenhauserheide wrote:
> [...] and because of some glitches like having to garbage collect
> regularly instead of having a lean implementation in the first place.
Again, this is not a glitch, but a conscious decision -- and a brilliant
one at that IMHO. I mentioned only some of the many advantages of this
approach.
> Would you use a file system you have to repack regularly? Just think
> about what would happen, if we build a server on top of git, which
> used it as filesystem backend. With Mercurial as backend it would just
> work.
A revision control system is not a file system though. And running a
filesystem on it is not exactly the common use case... Certainly not
what we want to do with the Hurd repository.
> This was one of the things which helped to convince me, that Mercurial
> is the right choice for me:
>
> """Unlike many revision control systems, the concepts upon which
> Mercurial is built are simple enough that it???s easy to understand
> how the software really works. Knowing this certainly isn???t
> necessary, but I find it useful to have a ???mental model??? of
> what???s going on.
>
> This understanding gives me confidence that Mercurial has been
> carefully designed to be both safe and efficient. And just as
> importantly, if it???s easy for me to retain a good idea of what the
> software is doing when I perform a revision control task, I???m less
> likely to be surprised by its behaviour.
>
> In this chapter, we???ll initially cover the core concepts behind
> Mercurial???s design, then continue to discuss some of the interesting
> details of its implementation."""
It's funny that you quote this passage: It fully supports my argument
that you need to understand the fundamentals -- much better than I could
ever argue it myself :-)
I wonder whether you were aware, while quoting it, how perfectly it fits
git...
> And you can easily access all the core functionality of Mercurial
> using either the default Python shell (just do "from mercurial import
> <module>", or advanced shells like ipython (which I very much
> appreciate).
Except if I don't know Python...
And that is only one of the many many reasons why libraries are usually
inferior to the traditional UNIX approach of reusing code by invoking
other processes.
But that's a totally different discussion... Though it gets us back to
my original point about following UNIX philosophy.
-antrik-