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