]> granicus.if.org Git - git/commit
add -p: fix checkout -p with pathological context
authorPhillip Wood <phillip.wood@dunelm.org.uk>
Wed, 12 Jun 2019 09:25:27 +0000 (02:25 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 13 Jun 2019 17:00:30 +0000 (10:00 -0700)
commit2bd69b9024c8c7c1b77060e3ed996c74b4775b01
tree7934b95217df177127b0167fd5912530403bfa0f
parentf4d35a6b49621348c73222e7017a434551799308
add -p: fix checkout -p with pathological context

Commit fecc6f3a68 ("add -p: adjust offsets of subsequent hunks when one is
skipped", 2018-03-01) fixed adding hunks in the correct place when a
previous hunk has been skipped. However it did not address patches that
are applied in reverse. In that case we need to adjust the pre-image
offset so that when apply reverses the patch the post-image offset is
adjusted correctly. We subtract rather than add the delta as the patch
is reversed (the easiest way to think about it is to consider a hunk of
deletions that is skipped - in that case we want to reduce offset so we
need to subtract).

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-add--interactive.perl
t/t3701-add-interactive.sh