Re: [PATCH] Change to the repository's root directory if needed.
- From
Junio C Hamano <junkio@cox.net>
- Date
- Jan 12, 2007, 21:18 UTC
- Message-ID
- <7vtzywq703.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <20070112191044.GA5113@midwinter.com>
koreth@midwinter.com writes:
Show 5 quoted lines
> Signed-off-by: Steven Grimm <koreth@midwinter.com> > --- > > Or try this instead. It seems to work in my limited testing, but it's > possible this breaks something somewhere.
Porcelains that define SUBDIRECTORY_OK but do not do cdup are very valid, and they should not be cd'ed up automatically. They set SUBDIRECTORY_OK for three different reasons:
(1) some of them always cdup themselves. git-fetch is the sole
example I can think of and I do not think it even needs to. (2) some of them stay in the subdirectory, and rely on the
plumbing level to limit the scope of operation with the
current directory. The most notable example used to be
"git-diff" but that is now a built-in. Also they take filename that could be relative to the
current directory. git-commit is an example. (3) some of them are complex mixture of (1) and (2) -- most
notable is git-checkout(4) some of them do not care. git-verify-tag is an example.
Your patch assumes everybody is either (1) or (4). I would not be surprised if you see breakage everywhere. For example, I think you just broke "git-tag -F <file>". Also I think you surprised users of git-clean (which I do not use personally); it would start removing stuff outside of the current directory.