t3427: accelerate this test by using fast-export and fast-import
authorElijah Newren <newren@gmail.com>
Wed, 4 Sep 2019 21:40:48 +0000 (14:40 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 5 Sep 2019 17:58:28 +0000 (10:58 -0700)
fast-export and fast-import can easily handle the simple rewrite that
was being done by filter-branch, and should be faster on systems with a
slow fork. Measuring the overall time taken for all of t3427 (not just
the difference between filter-branch and fast-export/fast-import) shows
a speedup of about 5% on Linux and 11% on Mac.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3427-rebase-subtree.sh
index 39e348de163b722c792e1576a4ab2af62757fd79..bec48e6a1f99a5d5db91b392987ff5b64cf16781 100755 (executable)
@@ -59,7 +59,10 @@ test_expect_success 'setup' '
        test_commit files_subtree/master5 &&
 
        git checkout -b to-rebase &&
-       git filter-branch --prune-empty -f --subdirectory-filter files_subtree &&
+       git fast-export --no-data HEAD -- files_subtree/ |
+               sed -e "s%\([0-9a-f]\{40\} \)files_subtree/%\1%" |
+               git fast-import --force --quiet &&
+       git reset --hard &&
        git commit -m "Empty commit" --allow-empty
 '