summaryrefslogtreecommitdiff
path: root/git-add--interactive.perl
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2019-07-09 22:25:37 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-07-09 22:25:37 (GMT)
commit1b074e15d0f976be2bc14f9528874a841c055213 (patch)
treea71a012782c2c47ec352f6ab64423a8a91a7f5b4 /git-add--interactive.perl
parent5cb7c73589059b557f0d690ed6bcfde46ef2d234 (diff)
parent2bd69b9024c8c7c1b77060e3ed996c74b4775b01 (diff)
downloadgit-1b074e15d0f976be2bc14f9528874a841c055213.zip
git-1b074e15d0f976be2bc14f9528874a841c055213.tar.gz
git-1b074e15d0f976be2bc14f9528874a841c055213.tar.bz2
Merge branch 'pw/add-p-recount'
"git checkout -p" needs to selectively apply a patch in reverse, which did not work well. * pw/add-p-recount: add -p: fix checkout -p with pathological context
Diffstat (limited to 'git-add--interactive.perl')
-rwxr-xr-xgit-add--interactive.perl6
1 files changed, 5 insertions, 1 deletions
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 20eb81c..da5b4ec 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -972,7 +972,11 @@ sub coalesce_overlapping_hunks {
next;
}
if ($ofs_delta) {
- $n_ofs += $ofs_delta;
+ if ($patch_mode_flavour{IS_REVERSE}) {
+ $o_ofs -= $ofs_delta;
+ } else {
+ $n_ofs += $ofs_delta;
+ }
$_->{TEXT}->[0] = format_hunk_header($o_ofs, $o_cnt,
$n_ofs, $n_cnt);
}