Thread (4 messages) flat view 4 messages, 3 authors, 2016-06-15

Re: git-am failed, what's next ?

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:42:56
Subsystem: the rest · Maintainer: Linus Torvalds

Hi,

On Thu, 22 Feb 2007, Francis Moreau wrote:
I'm a bit clueless when git-am failed to apply a patch. I dunno what I
should do at this point since errors reported by git-am are not
usefull for me. For example I got:

----
error: patch failed: foo:1
error: foo: patch does not apply
I had that quite often. I then ran

	git apply --verbose < .dotest/patch

to find out why it fails, but alas it did not tell me more. That's why I 
wrote this patch:

-- snipsnap --
[PATCH] apply: make --verbose a little more useful

When a patch fails, I automatically add '-v' to the command line
to see what fails.

This patch makes -v a synonym to --verbose, and actually tells
the user which text was not found.

Signed-off-by: Johannes Schindelin <redacted>
---
 builtin-apply.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/builtin-apply.c b/builtin-apply.c
index 630d8fd..2dde341 100644
--- a/builtin-apply.c
+++ b/builtin-apply.c
@@ -1723,6 +1723,8 @@ static int apply_one_fragment(struct buffer_desc *desc, struct fragment *frag, i
 			/* Ignore it, we already handled it */
 			break;
 		default:
+			if (apply_verbosely)
+				error("invalid start of line: '%c'", first);
 			return -1;
 		}
 		patch += len;
@@ -1820,6 +1822,9 @@ static int apply_one_fragment(struct buffer_desc *desc, struct fragment *frag, i
 		}
 	}
 
+	if (offset && apply_verbosely)
+		error("while searching for:\n%.*s", oldsize, oldlines);
+
 	free(old);
 	free(new);
 	return offset;
@@ -2811,7 +2816,7 @@ int cmd_apply(int argc, const char **argv, const char *unused_prefix)
 			apply = apply_with_reject = apply_verbosely = 1;
 			continue;
 		}
-		if (!strcmp(arg, "--verbose")) {
+		if (!strcmp(arg, "-v") || !strcmp(arg, "--verbose")) {
 			apply_verbosely = 1;
 			continue;
 		}
-- 
1.5.0.51.ge5582-dirty
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help