summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2014-09-09 12:53:58 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2014-09-09 12:53:59 -0700
commit7b4164063e9d2a36058052ae250d4c52a0335bd1 (patch)
treedad81ef67d15c886e5305a8bcbcc392d13140ea2
parentMerge branch 'jc/apply-ws-prefix' (diff)
parentbundle: fix exclusion of annotated tags (diff)
downloadtgif-7b4164063e9d2a36058052ae250d4c52a0335bd1.tar.xz
Merge branch 'lf/bundle-exclusion'
"git bundle create" with date-range specification were meant to exclude tags outside the range * lf/bundle-exclusion: bundle: fix exclusion of annotated tags
-rw-r--r--bundle.c4
-rwxr-xr-xt/t5704-bundle.sh5
2 files changed, 6 insertions, 3 deletions
diff --git a/bundle.c b/bundle.c
index 71a21a67fa..b708906cdb 100644
--- a/bundle.c
+++ b/bundle.c
@@ -221,8 +221,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);
diff --git a/t/t5704-bundle.sh b/t/t5704-bundle.sh
index a45c31692e..348d9b3bc7 100755
--- a/t/t5704-bundle.sh
+++ b/t/t5704-bundle.sh
@@ -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