Merge branch 'jc/do-not-feed-tags-to-clear-commit-marks' into maint
"git format-patch --ignore-if-upstream A..B" did not like to be fed tags as boundary commits. * jc/do-not-feed-tags-to-clear-commit-marks: format-patch: do not feed tags to clear_commit_marks()
This commit is contained in:
commit
93eba05b4f
@ -795,7 +795,7 @@ static int reopen_stdout(struct commit *commit, const char *subject,
|
||||
static void get_patch_ids(struct rev_info *rev, struct patch_ids *ids)
|
||||
{
|
||||
struct rev_info check_rev;
|
||||
struct commit *commit;
|
||||
struct commit *commit, *c1, *c2;
|
||||
struct object *o1, *o2;
|
||||
unsigned flags1, flags2;
|
||||
|
||||
@ -803,9 +803,11 @@ static void get_patch_ids(struct rev_info *rev, struct patch_ids *ids)
|
||||
die(_("Need exactly one range."));
|
||||
|
||||
o1 = rev->pending.objects[0].item;
|
||||
flags1 = o1->flags;
|
||||
o2 = rev->pending.objects[1].item;
|
||||
flags1 = o1->flags;
|
||||
flags2 = o2->flags;
|
||||
c1 = lookup_commit_reference(o1->sha1);
|
||||
c2 = lookup_commit_reference(o2->sha1);
|
||||
|
||||
if ((flags1 & UNINTERESTING) == (flags2 & UNINTERESTING))
|
||||
die(_("Not a range."));
|
||||
@ -827,10 +829,8 @@ static void get_patch_ids(struct rev_info *rev, struct patch_ids *ids)
|
||||
}
|
||||
|
||||
/* reset for next revision walk */
|
||||
clear_commit_marks((struct commit *)o1,
|
||||
SEEN | UNINTERESTING | SHOWN | ADDED);
|
||||
clear_commit_marks((struct commit *)o2,
|
||||
SEEN | UNINTERESTING | SHOWN | ADDED);
|
||||
clear_commit_marks(c1, SEEN | UNINTERESTING | SHOWN | ADDED);
|
||||
clear_commit_marks(c2, SEEN | UNINTERESTING | SHOWN | ADDED);
|
||||
o1->flags = flags1;
|
||||
o2->flags = flags2;
|
||||
}
|
||||
|
@ -57,6 +57,14 @@ test_expect_success "format-patch --ignore-if-in-upstream" '
|
||||
|
||||
'
|
||||
|
||||
test_expect_success "format-patch --ignore-if-in-upstream handles tags" '
|
||||
git tag -a v1 -m tag side &&
|
||||
git tag -a v2 -m tag master &&
|
||||
git format-patch --stdout --ignore-if-in-upstream v2..v1 >patch1 &&
|
||||
cnt=$(grep "^From " patch1 | wc -l) &&
|
||||
test $cnt = 2
|
||||
'
|
||||
|
||||
test_expect_success "format-patch doesn't consider merge commits" '
|
||||
|
||||
git checkout -b slave master &&
|
||||
|
Loading…
Reference in New Issue
Block a user