summaryrefslogtreecommitdiff
path: root/builtin/apply.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-05-11 18:37:46 (GMT)
committerJunio C Hamano <gitster@pobox.com>2011-05-11 18:37:46 (GMT)
commitf3b173daf400813c7f587a011290dac31de2b68e (patch)
tree588db086f294f64dd97a51b90d8fe2f60c17b6c1 /builtin/apply.c
parent9cd805de613c5984432acb778636f44d0fb596f8 (diff)
parent0bf9fc0cd28bf8e983a5280676fcaeb826403516 (diff)
downloadgit-f3b173daf400813c7f587a011290dac31de2b68e.zip
git-f3b173daf400813c7f587a011290dac31de2b68e.tar.gz
git-f3b173daf400813c7f587a011290dac31de2b68e.tar.bz2
Merge branch 'jc/maint-add-p-overlapping-hunks'
* jc/maint-add-p-overlapping-hunks: t3701: add-p-fix makes the last test to pass "add -p": work-around an old laziness that does not coalesce hunks add--interactive.perl: factor out repeated --recount option t3701: Editing a split hunk in an "add -p" session add -p: 'q' should really quit
Diffstat (limited to 'builtin/apply.c')
-rw-r--r--builtin/apply.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/builtin/apply.c b/builtin/apply.c
index 36e1507..530d4bb 100644
--- a/builtin/apply.c
+++ b/builtin/apply.c
@@ -43,6 +43,7 @@ static int apply = 1;
static int apply_in_reverse;
static int apply_with_reject;
static int apply_verbosely;
+static int allow_overlap;
static int no_add;
static const char *fake_ancestor;
static int line_termination = '\n';
@@ -2430,9 +2431,9 @@ static void update_image(struct image *img,
memcpy(img->line + applied_pos,
postimage->line,
postimage->nr * sizeof(*img->line));
- for (i = 0; i < postimage->nr; i++)
- img->line[applied_pos + i].flag |= LINE_PATCHED;
-
+ if (!allow_overlap)
+ for (i = 0; i < postimage->nr; i++)
+ img->line[applied_pos + i].flag |= LINE_PATCHED;
img->nr = nr;
}
@@ -3889,6 +3890,8 @@ int cmd_apply(int argc, const char **argv, const char *prefix_)
"don't expect at least one line of context"),
OPT_BOOLEAN(0, "reject", &apply_with_reject,
"leave the rejected hunks in corresponding *.rej files"),
+ OPT_BOOLEAN(0, "allow-overlap", &allow_overlap,
+ "allow overlapping hunks"),
OPT__VERBOSE(&apply_verbosely, "be verbose"),
OPT_BIT(0, "inaccurate-eof", &options,
"tolerate incorrectly detected missing new-line at the end of file",