Skip to content

Commit 2c8544a

Browse files
Lukas Fleischergitster
authored andcommitted
bundle: fix exclusion of annotated tags
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent e6aaa39 commit 2c8544a

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

bundle.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,8 @@ static int is_tag_in_date_range(struct object *tag, struct rev_info *revs)
223223
line = memmem(buf, size, "\ntagger ", 8);
224224
if (!line++)
225225
return 1;
226-
lineend = memchr(line, buf + size - line, '\n');
227-
line = memchr(line, lineend ? lineend - line : buf + size - line, '>');
226+
lineend = memchr(line, '\n', buf + size - line);
227+
line = memchr(line, '>', lineend ? lineend - line : buf + size - line);
228228
if (!line++)
229229
return 1;
230230
date = strtoul(line, NULL, 10);

t/t5704-bundle.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ test_expect_success 'setup' '
1414
git tag -d third
1515
'
1616

17-
test_expect_success 'tags can be excluded by rev-list options' '
17+
test_expect_success 'annotated tags can be excluded by rev-list options' '
18+
git bundle create bundle --all --since=7.Apr.2005.15:14:00.-0700 &&
19+
git ls-remote bundle > output &&
20+
grep tag output &&
1821
git bundle create bundle --all --since=7.Apr.2005.15:16:00.-0700 &&
1922
git ls-remote bundle > output &&
2023
! grep tag output

0 commit comments

Comments
 (0)