Re: [PATCH] git-jump: ignore (custom) prefix in diff mode
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:54:47
Jeff King [off-list ref] writes:
On Sun, Sep 16, 2012 at 10:24:04PM -0700, Junio C Hamano wrote:quoted
Mischa POSLAWSKY [off-list ref] writes:quoted
Matching the default file prefix b/ does not yield any results if config option diff.noprefix or diff.mnemonicprefix is enabled. Signed-off-by: Mischa POSLAWSKY <redacted> --- Very useful script otherwise; thanks. contrib/git-jump/git-jump | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git contrib/git-jump/git-jump contrib/git-jump/git-jump index a33674e..dc90cd6 100755 --- contrib/git-jump/git-jump +++ contrib/git-jump/git-jump@@ -21,9 +21,9 @@ open_editor() { ...Makes sense to me. Peff?Yes, looks obviously correct. Thanks. Acked-by: Jeff King <redacted>
Thanks. It may not be obvious to many people, so here is tip of the day. I knew Mischa knew that the patch was prepared with wrong src/dst prefix (notice the lack of a/ and b/), but I did not say anything special when I drove "git am". I just did the usual "git am -s3c" and the patch was applied just fine ;-) What is happening is that: - I didn't give '-p0" to "git am", so it thought that patch was based on a tree that has "git-jump" directory at the top-level of the working tree, and the file that is being patched lived at "git-jump/git-jump" in Mischa's working tree; - However, the official git.git tree has the corresponding file at "contrib/git-jump/git-jump", and there is no such file at "git-jump/git-jump". - The three-way merge logic kicks in because of the "-3" option, using a (fake) tree that is shaped like Mischa's tree with the version before the patch as a common ancestor, to merge the version "git am" thought Mischa has (i.e. no contrib/ directory) and the version in my tree. From the point of view of the three-way merge logic, I renamed the path to be in contrib/ directory while Mischa kept the path intact and fixed the contents of the script. This merges cleanly to produce the expected result.