diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-04-01 16:20:19 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-04-01 16:20:19 -0700 |
commit | 4584c94f0efb9c03b8e860622937d754076da3dc (patch) | |
tree | 7c92d916aa0181ca5694c79f234f942042c529d7 /builtin | |
parent | Merge branch 'jc/maint-apply-no-double-patch' into maint (diff) | |
parent | apply -v: show offset count when patch did not apply exactly (diff) | |
download | tgif-4584c94f0efb9c03b8e860622937d754076da3dc.tar.xz |
Merge branch 'jc/maint-apply-report-offset' into maint
* jc/maint-apply-report-offset:
apply -v: show offset count when patch did not apply exactly
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/apply.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/builtin/apply.c b/builtin/apply.c index 04f56f850a..36e150768b 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -2437,7 +2437,8 @@ static void update_image(struct image *img, } static int apply_one_fragment(struct image *img, struct fragment *frag, - int inaccurate_eof, unsigned ws_rule) + int inaccurate_eof, unsigned ws_rule, + int nth_fragment) { int match_beginning, match_end; const char *patch = frag->patch; @@ -2643,6 +2644,15 @@ static int apply_one_fragment(struct image *img, struct fragment *frag, apply = 0; } + if (apply_verbosely && applied_pos != pos) { + int offset = applied_pos - pos; + if (apply_in_reverse) + offset = 0 - offset; + fprintf(stderr, + "Hunk #%d succeeded at %d (offset %d lines).\n", + nth_fragment, applied_pos + 1, offset); + } + /* * Warn if it was necessary to reduce the number * of context lines. @@ -2790,12 +2800,14 @@ static int apply_fragments(struct image *img, struct patch *patch) const char *name = patch->old_name ? patch->old_name : patch->new_name; unsigned ws_rule = patch->ws_rule; unsigned inaccurate_eof = patch->inaccurate_eof; + int nth = 0; if (patch->is_binary) return apply_binary(img, patch); while (frag) { - if (apply_one_fragment(img, frag, inaccurate_eof, ws_rule)) { + nth++; + if (apply_one_fragment(img, frag, inaccurate_eof, ws_rule, nth)) { error("patch failed: %s:%ld", name, frag->oldpos); if (!apply_with_reject) return -1; |