зеркало из https://github.com/microsoft/git.git
perf: add function to setup a fresh test repo
Add a function to setup a fresh test repo via 'git init' to compliment the existing functions to copy over a normal & large repo. Some performance tests don't need any existing repository data at all to be significant, e.g. tests which stress glob matches against single pathological revisions or files, which I'm about to add in a subsequent commit. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
b06d364310
Коммит
91de27c54a
|
@ -106,6 +106,7 @@ sources perf-lib.sh:
|
|||
|
||||
After that you will want to use some of the following:
|
||||
|
||||
test_perf_fresh_repo # sets up an empty repository
|
||||
test_perf_default_repo # sets up a "normal" repository
|
||||
test_perf_large_repo # sets up a "large" repository
|
||||
|
||||
|
|
|
@ -78,6 +78,10 @@ if test -z "$GIT_PERF_LARGE_REPO"; then
|
|||
GIT_PERF_LARGE_REPO=$TEST_DIRECTORY/..
|
||||
fi
|
||||
|
||||
test_perf_do_repo_symlink_config_ () {
|
||||
test_have_prereq SYMLINKS || git config core.symlinks false
|
||||
}
|
||||
|
||||
test_perf_create_repo_from () {
|
||||
test "$#" = 2 ||
|
||||
error "bug in the test script: not 2 parameters to test-create-repo"
|
||||
|
@ -102,15 +106,22 @@ test_perf_create_repo_from () {
|
|||
) &&
|
||||
(
|
||||
cd "$repo" &&
|
||||
"$MODERN_GIT" init -q && {
|
||||
test_have_prereq SYMLINKS ||
|
||||
git config core.symlinks false
|
||||
} &&
|
||||
"$MODERN_GIT" init -q &&
|
||||
test_perf_do_repo_symlink_config_ &&
|
||||
mv .git/hooks .git/hooks-disabled 2>/dev/null
|
||||
) || error "failed to copy repository '$source' to '$repo'"
|
||||
}
|
||||
|
||||
# call at least one of these to establish an appropriately-sized repository
|
||||
test_perf_fresh_repo () {
|
||||
repo="${1:-$TRASH_DIRECTORY}"
|
||||
"$MODERN_GIT" init -q "$repo" &&
|
||||
(
|
||||
cd "$repo" &&
|
||||
test_perf_do_repo_symlink_config_
|
||||
)
|
||||
}
|
||||
|
||||
test_perf_default_repo () {
|
||||
test_perf_create_repo_from "${1:-$TRASH_DIRECTORY}" "$GIT_PERF_REPO"
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче