* [ANNOUNCE] gitfs pre-release 0.03
@ 2005-11-18 12:45 Mitchell Blank Jr
2005-11-18 14:20 ` Paolo Teti
0 siblings, 1 reply; 3+ messages in thread
From: Mitchell Blank Jr @ 2005-11-18 12:45 UTC (permalink / raw)
To: git
I've released another pre-release of my gitfs tool tonight. The isn't a ton
of new functionality, but there has been a lot of changes:
% for dir in gitfs-0.0[123]; do echo `cat $dir/*.[ch] | wc -l` $dir; done
2228 gitfs-0.01
2334 gitfs-0.02
8276 gitfs-0.03
This is mostly because I've been working on taking it from the "proof of
concept" phase to a real filesystem. To that end:
* gitfs now does all git operations in a separate thread so accessing a
large file won't cause other filesystem operations to stall. In order
to allow multithreaded operations we no longer use the libfuse API -- we
speak the kernel/fuse API directly. This was a lot of work but it's
actually a much better fit for gitfs since it allows me to map directly
between inode #'s and the internal "gnode"'s, saving a lot of work.
Because of this you no longer need libfuse installed to use gitfs --
all you need to compile is point the Makefile at a <linux/fuse.h>
header -- the one that comes with a >=2.6.14 kernel will work fine.
However, to actually mount a fuse filesystem you'll need the "fusermount"
helper binary from fuse somewhere in $PATH
* We use the sha1_object_info() API in current versions of libgit to
avoid uncompressing blob objects if they're only being stat()'ed.
This is another big speed-up
* gitfs mounts now also create a UNIX domain socket so external clients
can make requests (for instance to optimize things like "diff")
Currently only a few simple commands are implemented, as described in
the README
* Lots of other infrastructure and data-structure work. I'm particularly
proud of my rather scary red-black tree implementation :-)
As usual tarballs are available at:
http://www.sfgoth.com/~mitch/linux/gitfs/
-Mitch
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [ANNOUNCE] gitfs pre-release 0.03
2005-11-18 12:45 [ANNOUNCE] gitfs pre-release 0.03 Mitchell Blank Jr
@ 2005-11-18 14:20 ` Paolo Teti
2005-11-18 20:50 ` Mitchell Blank Jr
0 siblings, 1 reply; 3+ messages in thread
From: Paolo Teti @ 2005-11-18 14:20 UTC (permalink / raw)
To: Mitchell Blank Jr; +Cc: git
Great job!
A question: the gitFS in your intent has to became a "clone" of the
Rational MultiVersion File System?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [ANNOUNCE] gitfs pre-release 0.03
2005-11-18 14:20 ` Paolo Teti
@ 2005-11-18 20:50 ` Mitchell Blank Jr
0 siblings, 0 replies; 3+ messages in thread
From: Mitchell Blank Jr @ 2005-11-18 20:50 UTC (permalink / raw)
To: Paolo Teti; +Cc: git
Paolo Teti wrote:
> A question: the gitFS in your intent has to became a "clone" of the
> Rational MultiVersion File System?
Well, I guess I can't give a real solid answer since I've never used
Rational and I'm only vaguely aware of its capabilities. However I think
the answer is "no". My personal belief is that the filesystem abstraction
isn't a good fit to be the main interface to an SCM, especially git.
That's why I'm currently working on just visualizing the contents of the
git repository and I'll add features on top of that as they seem to make
sense.
-Mitch
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-11-18 20:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-18 12:45 [ANNOUNCE] gitfs pre-release 0.03 Mitchell Blank Jr
2005-11-18 14:20 ` Paolo Teti
2005-11-18 20:50 ` Mitchell Blank Jr
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).