Paul Mackerras <paulus@xxxxxxxxx> writes: >> Why do git commands that need a work tree not work under .git? > ... > Don't know, ask Junio. :) Whatever the current behaviour is, I am reasonably sure that it is coming more from "meh -- who cares such a case?" than "it should work like this when you are in .git because of such and such reasons". For example, what does it mean to be able to do this? $ edit Makefile $ git add Makefile $ edit Makefile $ cd .git $ git grep frotz Makefile Perhaps the last step needs to be $ git grep frotz ../Makefile instead, but a more important point is, how would that be useful? If you have both GIT_DIR and GIT_WORK_TREE set up to point at the correct places, I think it is sensible to make the above (the "../Makefile" version, not the one without dot-dot) work as expected. I suspect (but would not bother to dig the history myself to find out) that "we require a working tree" semantics that in fact often means "we require you to be in the working tree" was a misdesign that did not matter that came from the days back when GIT_WORK_TREE was not either present or not widely used. Now more people seem to be using GIT_WORK_TREE for some reason, I don't have anything against a patch series that defines and implements a more desirable behaviour clearly. Thanks. -- 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