Skip to content

Commit

Permalink
bundle: fix exclusion of annotated tags
Browse files Browse the repository at this point in the history
In commit c9a42c4 (bundle: allow rev-list options to exclude annotated
tags, 2009-01-02), support for excluding annotated tags outside the
specified date range was added. However, the wrong order of parameters
was chosen when calling memchr().

Fix this by swapping the character to search for with the maximum length
parameter.  Also cover this behavior with an additional test.

Signed-off-by: Lukas Fleischer <git@cryptocrack.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Lukas Fleischer authored and Junio C Hamano committed Aug 7, 2014
1 parent e6aaa39 commit 2c8544a
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
4 changes: 2 additions & 2 deletions bundle.c
Original file line number Diff line number Diff line change
Expand Up @@ -223,8 +223,8 @@ static int is_tag_in_date_range(struct object *tag, struct rev_info *revs)
line = memmem(buf, size, "\ntagger ", 8);
if (!line++)
return 1;
lineend = memchr(line, buf + size - line, '\n');
line = memchr(line, lineend ? lineend - line : buf + size - line, '>');
lineend = memchr(line, '\n', buf + size - line);
line = memchr(line, '>', lineend ? lineend - line : buf + size - line);
if (!line++)
return 1;
date = strtoul(line, NULL, 10);
Expand Down
5 changes: 4 additions & 1 deletion t/t5704-bundle.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@ test_expect_success 'setup' '
git tag -d third
'

test_expect_success 'tags can be excluded by rev-list options' '
test_expect_success 'annotated tags can be excluded by rev-list options' '
git bundle create bundle --all --since=7.Apr.2005.15:14:00.-0700 &&
git ls-remote bundle > output &&
grep tag output &&
git bundle create bundle --all --since=7.Apr.2005.15:16:00.-0700 &&
git ls-remote bundle > output &&
! grep tag output
Expand Down

0 comments on commit 2c8544a

Please sign in to comment.