Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: > On Fri, 19 Jan 2007, Matthias Kestenholz wrote: > ... >> Why not check for /.git/ somewhere inside the current working directory >> (pwd) ? That's the way mercurial does it currently, and I think that is >> a sane thing to do _if_ you want to protect the user from his own >> stupidity. > > There are valid reasons why you might want to have a (possibly > temporary) repository _inside_ the GIT_DIR. You'd break these cases. You are right that strstr(here, "/.git/") is not a good check. If we really care about this problem (and I am not yet starting to think we might, but who knows, I reserve the right to change my mind every once in a while), we could make the commands that deal with working trees (that is, among the things under discussion in this thread, 'git-clean' always is, and 'git-ls-files' only when it is given options like '-o', '-k', '-m', '-i') when the cwd is GIT_DIR or a subdirectory of it. If you did something like: mkdir /var/tmp/a cd /var/tmp/a git init-db cd .git GIT_DIR=.git git init-db git add . git ls-files echo junk >garbage git clean the repository at /var/tmp/a/.git/.git ought to track HEAD, config and friends in /var/tmp/a/.git directory. Not that I am saying I think the above is a sensible use case. - 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