Julian Phillips wrote: > On Tue, 24 Jul 2007, Marius Storm-Olsen wrote: > >>> I do not know this is an appropriate itch to scratch for a Windows >>> developer to begin with. The new-workdir setting *is* about >>> symlinked .git/ metainfo space. If somebody wants to work on a >>> filesystem without symlink, he should not be using new-workdir but >>> something else. E.g. GIT_DIR + GIT_WORK_TREE, or perhaps GIT_DIR + >>> core.worktree comes to mind. >> >> That's is definitely an option, though it seems to me that its more like >> giving up than a finding a proper solution. In any case, it would result in >> two completely different workflows on systems with and without symlink >> support. I work on both, and would like my workflow to be consistent. Of >> course I could easily add my own scripts on top to achieve this, but then >> we're going back into h4x0r land and not making Git more 'available'. >> >> The new-workdir feature doesn't *have* to be about symlinked .git/ metainfo >> space, but could also be about symref'ed .git/ metainfo. >> (A discussion was done in 2005s "Getting rid of symlinks in .git?", but the >> conclusion was that it would slow it down too much? *ponder*) > > Symref'ed isn't really the right term ... we're not talking about refs > here. You would have to basically implement symlinks _inside_ git ... > > New-workdir really _is_ all about symlinks. It already exists as a > contrib feature - and moving it into core is (as I understand it) really > just moving it, not redesigning. > > If you were going to avoid symlinks, then probably the cleanest way would > be to have an explict way to point at the actual repo - rather than making > the working look like a repo if you squint hard enough. Which sounds > rather like it would be an extension to GIT_DIR + GIT_WORK_TREE. I > haven't looked at it, but it shouldn't be too hard to have a mechanism > that automatically does GIT_DIR=<there> GIT_WORK_TREE==<here> when the > appropriate setup is in place? Though you would have to get it into all > the appropriate places ... I think it could be best solved by having in "worktree" .git/config with core.gitdir which functions like lower layer in UnionFS like manner. It means that if git cannot find a file or directory in .git, then it tries to find it in core.gitdir. -- Jakub Narebski Warsaw, Poland ShadeHawk on #git - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html