Marcus Rueckert wrote:
>>From: Deekshit Mantampady <dmantamp@gmail.com>
>> I wanted to
>>know, whether SubVersion support file system based client, like
>>Rational Clearcase.
>
> ...
>
> do you think of file://?
>
I don't think that's quite what he meant.
Clearcase exposes revisions of files to users through things
it calls "views". There are two types of views, dynamic and
snapshot. Snapshot views are basically equivalent to "svn co".
Dynamic views are what I assume Deekshit is asking about.
Clearcase includes, depending on the OS you're running on,
a filesystem driver or replacement libc (overriding all the
filesystem calls) that allows you to mount a portion of
a repositor(ies|y) into the local filesystem. You use
a definition file called a "config-spec" to define what you
want mounted. Clearcase then allows you to do stuff using
ioctl()-like calls to checkin/checkout any changes you
make on the mounted filesystem.
(It's much more complicated and awkward than that, but that's
the general principle).
There have been a few comments on this list about doing something
similar with Subversion, but it was generally thought that
we probably needed locking before a useful writeable interface
could be implemented.
Right now, using davfs2 under Linux, or Web Folders under Win32
is probably as close as you're going to get. Pretty much read-only,
but with autoversioning turned on, you get basic write support.
Someone mentioned writing a Linux filesystem driver using FUSE
a while back, but I can't seem to find a reference to it. Have
a search through the list archives for "FUSE" or "LUFS".
Another couple of options would be to write an NFS server that
exports a view of the repository, or a plugin to Samba (using
the VFS mechanism) that creates shares that expose the repository.
This could be done right now, in read-only mode. Generic write
support for non-version aware apps would be tricky (something
clearcase *sort* of solves by using a checkout/reserve model
and a custom filesystem driver that stores local modification in
a temporary write area, before a special ioctl() (issued by using
the "cleartool" command) sends changes back to the repository).
daniel
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Dec 22 10:27:57 2004