37 lines
1018 B
Bash
37 lines
1018 B
Bash
# test_midx_consistent <objdir>
|
|
test_midx_consistent () {
|
|
ls $1/pack/pack-*.idx | xargs -n 1 basename | sort >expect &&
|
|
test-tool read-midx $1 | grep ^pack-.*\.idx$ | sort >actual &&
|
|
|
|
test_cmp expect actual &&
|
|
git multi-pack-index --object-dir=$1 verify
|
|
}
|
|
|
|
midx_checksum () {
|
|
test-tool read-midx --checksum "$1"
|
|
}
|
|
|
|
midx_git_two_modes () {
|
|
git -c core.multiPackIndex=false $1 >expect &&
|
|
git -c core.multiPackIndex=true $1 >actual &&
|
|
if [ "$2" = "sorted" ]
|
|
then
|
|
sort <expect >expect.sorted &&
|
|
mv expect.sorted expect &&
|
|
sort <actual >actual.sorted &&
|
|
mv actual.sorted actual
|
|
fi &&
|
|
test_cmp expect actual
|
|
}
|
|
|
|
compare_results_with_midx () {
|
|
MSG=$1
|
|
test_expect_success "check normal git operations: $MSG" '
|
|
midx_git_two_modes "rev-list --objects --all" &&
|
|
midx_git_two_modes "log --raw" &&
|
|
midx_git_two_modes "count-objects --verbose" &&
|
|
midx_git_two_modes "cat-file --batch-all-objects --batch-check" &&
|
|
midx_git_two_modes "cat-file --batch-all-objects --batch-check --unordered" sorted
|
|
'
|
|
}
|