Well, except that from purely technical standpoint commit-tree hasnothing to do in this picture - it creates new object in the gitfilesystem based on its input data, but regardless to the directorycache or current tree. It probably still belongs where it is from theworkflow standpoint, though.

..snip..> Minor question:> > I must have an old version - I got 'git-0.03', but> it doesn't have 'checkout-cache', and its 'read-tree'> directly writes my working files.> > How do I get a current version? Well, one way I see,> and that's to pick up Pasky's:> > http://pasky.or.cz/~pasky/dev/git/git-pasky-base.tar.bz2> > Perhaps that's the best way?

You can take mine, and do:

git pull pasky git pull linus cp .dircache/HEAD .dircache/HEAD.local

Now, your tree and git filesystem is up to date.

git track local

Now, when you do git pull pasky, your working tree will not be updatedautomatically anymore.

git track linus

Now, you start tracking Linus' tree instead. Note that the initialupdate will blow away the scripts in your current tree, so before you dothe last two steps you will probably want to clone the tree and set PATHto the one still tracking me, so you get all the comfort. ;-)