Index Home About Blog
From: Linus Torvalds <torvalds@linux-foundation.org>
Newsgroups: fa.linux.kernel
Subject: Re: git guidance
Date: Thu, 29 Nov 2007 16:21:05 UTC
Message-ID: <fa.N1UT6O3t1D2H3QtvihXDVH8+DIQ@ifi.uio.no>

On Thu, 29 Nov 2007, Jing Xue wrote:
>
> By the way, the only SCM I have worked with that tries to mount its
> repository (or a view on top of it) as a file system is ClearCase with
> its dynamic views. And, between the buggy file system implementation,
> the intrusion on workflow, and the lack of scalability, at least in
> the organization I worked for, it turned out to be a horrible,
> horrible, horrible idea.

Doing a read-only mount setup tends to be pretty easy, but it's largely
pointless except for specialty uses. Ie it's obviously not useful for
actual *development*, but it can be useful for some other cases.

For example, a read-only revctrl filesystem can be a _very_ useful thing
for test-farms, where you may have hundreds of clients that run tests on
possibly different versions at the same time. In situations like that, the
read-only mount can actually often be done as a user-space NFS server on
some machine.

The advantage is that you don't need to export close to infinite amounts
of versions from a "real" filesystem, or make the clients have their own
copies. And if you do it as a user-space NFS server (or samba, for that
matter), it's even portable, unlike many other approaches. The read-only
part also makes 99% of all the complexity go away, and it turns out to be
a fairly easy exercise to do.

So I don't think the filesystem approach is _wrong_ per se. But yes, doing
it read-write is almost invariably a big mistake. On operating systems
that support a "union mount" approach, it's likely much better to have a
read-only revctl thing, and then over-mount a regular filesystem on top of
it.

Trying to make it read-write from the revctl engine standpoint is almost
certainly totally insane.

				Linus

Index Home About Blog