diff options
| author | Junio C Hamano <gitster@pobox.com> | 2024-12-15 17:54:25 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-12-15 17:54:25 -0800 |
| commit | 73b7e03e9e4fdd3e09c08ff9c2d215bcabc19f34 (patch) | |
| tree | f7c84cac7912e5c8a9aec915d1afe02be4f43948 /t/perf | |
| parent | 2ccc89b0c16c51561da90d21cfbb4b58cc877bf6 (diff) | |
| parent | db162862b36f8c2de8e7020801870abf33b61a20 (diff) | |
| download | git-73b7e03e9e4fdd3e09c08ff9c2d215bcabc19f34.tar.gz | |
Merge branch 'jk/describe-perf'
"git describe" optimization.
* jk/describe-perf:
describe: split "found all tags" and max_candidates logic
describe: stop traversing when we run out of names
describe: stop digging for max_candidates+1
t/perf: add tests for git-describe
t6120: demonstrate weakness in disjoint-root handling
Diffstat (limited to 't/perf')
| -rwxr-xr-x | t/perf/p6100-describe.sh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/t/perf/p6100-describe.sh b/t/perf/p6100-describe.sh new file mode 100755 index 0000000000..069f91ce49 --- /dev/null +++ b/t/perf/p6100-describe.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +test_description='performance of git-describe' +. ./perf-lib.sh + +test_perf_default_repo + +# clear out old tags and give us a known state +test_expect_success 'set up tags' ' + git for-each-ref --format="delete %(refname)" refs/tags >to-delete && + git update-ref --stdin <to-delete && + new=$(git rev-list -1000 HEAD | tail -n 1) && + git tag -m new new $new && + old=$(git rev-list HEAD | tail -n 1) && + git tag -m old old $old +' + +test_perf 'describe HEAD' ' + git describe HEAD +' + +test_perf 'describe HEAD with one max candidate' ' + git describe --candidates=1 HEAD +' + +test_perf 'describe HEAD with one tag' ' + git describe --match=new HEAD +' + +test_done |
