These days I use a few working trees that are connected to my
primary repository (which also has a working tree). The primary
repository is in /src/git, and other ones look like this:
: gitster git.wk0; ls -l .git/
total 120
drwxrwsr-x 3 junio src 4096 Mar 5 16:22 ./
drwxrwsr-x 15 junio src 16384 Mar 5 16:23 ../
-rw-rw-r-- 1 junio src 41 Mar 5 16:22 HEAD
lrwxrwxrwx 1 junio src 27 Mar 3 22:53 config -> /src/git/.git/config
lrwxrwxrwx 1 junio src 26 Mar 3 22:53 hooks -> /src/git/.git/hooks/
-rw-rw-r-- 1 junio src 82455 Mar 5 16:22 index
lrwxrwxrwx 1 junio src 25 Mar 3 22:53 info -> /src/git/.git/info/
drwxrwsr-x 3 junio src 4096 Mar 3 22:59 logs/
lrwxrwxrwx 1 junio src 28 Mar 3 22:53 objects -> /src/git/.git/objects/
lrwxrwxrwx 1 junio src 32 Mar 3 22:53 packed-refs -> /src/git/.git/packed-refs
lrwxrwxrwx 1 junio src 25 Mar 3 22:53 refs -> /src/git/.git/refs/
lrwxrwxrwx 1 junio src 28 Mar 3 22:53 remotes -> /src/git/.git/remotes/
lrwxrwxrwx 1 junio src 29 Mar 3 22:53 rr-cache -> /src/git/.git/rr-cache/
It shares everything other than HEAD and the index (the reflog
for branches are also shared by a symlink .git/logs/refs
pointing at the one in the primary repository).
This risks confusion for an uninitiated if you update a ref that
is checked out in another working tree, but modulo that caveat
it works reasonably well.
We might want to add an option to 'git-clone' to create
something like this, but I am somewhat worried about the newbie
confusion factor. Perhaps...
$ git clone --i-know-what-i-am-doing-give-me-an-alternate-working-tree \
/src/git /src/git.wk0
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html