summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2018-07-18 12:20:29 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-07-18 12:20:29 -0700
commit2516b4711f6e180516162c384b7e94832e7189f6 (patch)
tree313a9be8723be077ed423d32822bdc61d8c4132a
parentMerge branch 'pw/rebase-i-keep-reword-after-conflict' (diff)
parentformat-patch: clear UNINTERESTING flag before prepare_bases (diff)
downloadtgif-2516b4711f6e180516162c384b7e94832e7189f6.tar.xz
Merge branch 'xy/format-patch-prereq-patch-id-fix'
Recently added "--base" option to "git format-patch" command did not correctly generate prereq patch ids. * xy/format-patch-prereq-patch-id-fix: format-patch: clear UNINTERESTING flag before prepare_bases
-rw-r--r--builtin/log.c1
-rwxr-xr-xt/t4014-format-patch.sh6
2 files changed, 5 insertions, 2 deletions
diff --git a/builtin/log.c b/builtin/log.c
index c77af79755..805f89d7e1 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -1756,6 +1756,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
if (base_commit || base_auto) {
struct commit *base = get_base_commit(base_commit, list, nr);
reset_revision_walk();
+ clear_object_flags(UNINTERESTING);
prepare_bases(&bases, base, list, nr);
}
diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
index 028d5507a6..53880da7bb 100755
--- a/t/t4014-format-patch.sh
+++ b/t/t4014-format-patch.sh
@@ -1554,13 +1554,15 @@ test_expect_success 'format-patch -o overrides format.outputDirectory' '
test_expect_success 'format-patch --base' '
git checkout side &&
- git format-patch --stdout --base=HEAD~3 -1 | tail -n 7 >actual &&
+ git format-patch --stdout --base=HEAD~3 -1 | tail -n 7 >actual1 &&
+ git format-patch --stdout --base=HEAD~3 HEAD~.. | tail -n 7 >actual2 &&
echo >expected &&
echo "base-commit: $(git rev-parse HEAD~3)" >>expected &&
echo "prerequisite-patch-id: $(git show --patch HEAD~2 | git patch-id --stable | awk "{print \$1}")" >>expected &&
echo "prerequisite-patch-id: $(git show --patch HEAD~1 | git patch-id --stable | awk "{print \$1}")" >>expected &&
signature >> expected &&
- test_cmp expected actual
+ test_cmp expected actual1 &&
+ test_cmp expected actual2
'
test_expect_success 'format-patch --base errors out when base commit is in revision list' '