This is the second preparatory patch series for my rebase--helper work (i.e. moving parts of the interactive rebase into a builtin). It simply introduces a perf test (and ensures that it runs in my environment) so as to better determine how much the performance changes, really. Johannes Schindelin (3): perf: let's disable symlinks when they are not available perf: make the tests work in worktrees Add a perf test for rebase -i t/perf/p3404-rebase-interactive.sh | 36 ++++++++++++++++++++++++++++++++++++ t/perf/perf-lib.sh | 19 +++++++++++-------- 2 files changed, 47 insertions(+), 8 deletions(-) create mode 100755 t/perf/p3404-rebase-interactive.sh Published-As: https://github.com/dscho/git/releases/tag/perf-rebase-i-v3 Interdiff vs v2: diff --git a/t/perf/p3404-rebase-interactive.sh b/t/perf/p3404-rebase-interactive.sh index 382163c..88f47de 100755 --- a/t/perf/p3404-rebase-interactive.sh +++ b/t/perf/p3404-rebase-interactive.sh @@ -7,9 +7,14 @@ test_perf_default_repo # This commit merges a sufficiently long topic branch for reasonable # performance testing -branch_merge=ba5312d +branch_merge=ba5312da19c6fdb6c6747d479f58932aae6e900c^{commit} export branch_merge +git rev-parse --verify $branch_merge >/dev/null 2>&1 || { + skip_all='skipping because $branch_merge was not found' + test_done +} + write_script swap-first-two.sh <<\EOF case "$1" in */COMMIT_EDITMSG) diff --git a/t/perf/perf-lib.sh b/t/perf/perf-lib.sh index cb88b08..5ef1744 100644 --- a/t/perf/perf-lib.sh +++ b/t/perf/perf-lib.sh @@ -80,8 +80,8 @@ test_perf_create_repo_from () { error "bug in the test script: not 2 parameters to test-create-repo" repo="$1" source="$2" - source_git="$(cd "$source" && git rev-parse --git-dir)" - objects_dir="$(cd "$source" && git rev-parse --git-path objects)" + source_git="$(git -C "$source" rev-parse --git-dir)" + objects_dir="$(git -C "$source" rev-parse --git-path objects)" mkdir -p "$repo/.git" ( { cp -Rl "$objects_dir" "$repo/.git/" 2>/dev/null || @@ -96,7 +96,6 @@ test_perf_create_repo_from () { esac done && cd "$repo" && - git init -q && git init -q && { test_have_prereq SYMLINKS || git config core.symlinks false -- 2.8.2.465.gb077790 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html