#!/bin/sh test_description='Commit walk performance tests' . ./perf-lib.sh test_perf_large_repo test_expect_success 'setup' ' git for-each-ref --format="%(refname)" "refs/heads/*" "refs/tags/*" >allrefs && sort -r allrefs | head -n 50 >refs && for ref in $(cat refs) do git branch -f ref-$ref $ref && echo ref-$ref || return 1 done >branches && for ref in $(cat refs) do git tag -f tag-$ref $ref && echo tag-$ref || return 1 done >tags && echo "A:HEAD" >test-tool-refs && for line in $(cat refs) do echo "X:$line" >>test-tool-refs || return 1 done && echo "A:HEAD" >test-tool-tags && for line in $(cat tags) do echo "X:$line" >>test-tool-tags || return 1 done && commit=$(git commit-tree $(git rev-parse HEAD^{tree})) && git update-ref refs/heads/disjoint-base $commit && git commit-graph write --reachable ' test_perf 'ahead-behind counts: git for-each-ref' ' git for-each-ref --format="%(ahead-behind:HEAD)" --stdin