diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-09-09 12:53:58 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-09-09 12:53:59 -0700 |
commit | 7b4164063e9d2a36058052ae250d4c52a0335bd1 (patch) | |
tree | dad81ef67d15c886e5305a8bcbcc392d13140ea2 | |
parent | ead51a75d5ca432daa7429b70d363dba0cdf6507 (diff) | |
parent | 2c8544ab91812c264666c9feb335ce3091fa29c1 (diff) | |
download | git-7b4164063e9d2a36058052ae250d4c52a0335bd1.tar.gz |
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.c | 4 | ||||
-rwxr-xr-x | t/t5704-bundle.sh | 5 |
2 files changed, 6 insertions, 3 deletions
@@ -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 |