Re: [PATCH] Teach 'git apply' to look at $GIT_DIR/config
- From
Daniel Barkalow <barkalow@iabervon.org>
- Date
- Feb 21, 2007, 05:39 UTC
- Message-ID
- <Pine.LNX.4.64.0702210014140.6485@iabervon.org>
- In-Reply-To
- <Pine.LNX.4.64.0702191601300.20368@woody.linux-foundation.org>
On Mon, 19 Feb 2007, Linus Torvalds wrote:
Show 14 quoted lines
> Imagine somebody sending you a patch to a set of files, and they didn't > use git to generate that patch. What would it look right? Right, it might > well look like > > diff -u file.c.orig file.c > --- file.c.orig > +++ file.c > @@ -29,6 +29,7 @@ > ... > > and it happens to be in some subdirectory. What would you do? > > I'd use "git apply". And I would be really upset *if* git-apply actually > applied the patch to some *other* subdirectory than the one I was in.
"git apply" should be able to notice the many clues that this patch doesn't go at the root: (1) it's not -r; (2) it's not a rename, but the filenames aren't the same; (3) there isn't an extra path element to remove.
Wouldn't the patch author have to do something like "cd drivers; diff -ur usb.orig usb > patch" (i.e., have old and new _directories_ in the _same_ source tree, rather than just files, or separate source trees) in order to generate a patch that would be confusing?
I think "git apply" should just know that if the filenames don't match, and it's not a rename, and the --- filename isn't /dev/null, then add the current directory and use -p0.
-Daniel *This .sig left intentionally blank*