]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t7003-filter-branch.sh
Merge branch 'ea/blame-use-oideq'
[thirdparty/git.git] / t / t7003-filter-branch.sh
index ec4b160ddb9f966044e729f35cc1edfcc79eed14..36477cb1f4470055726cc89d1e69af5f60d88bd2 100755 (executable)
@@ -107,6 +107,21 @@ test_expect_success 'test that the directory was renamed' '
        test dir/D = "$(cat diroh/D.t)"
 '
 
+V=$(git rev-parse HEAD)
+
+test_expect_success 'populate --state-branch' '
+       git filter-branch --state-branch state -f --tree-filter "touch file || :" HEAD
+'
+
+W=$(git rev-parse HEAD)
+
+test_expect_success 'using --state-branch to skip already rewritten commits' '
+       test_when_finished git reset --hard $V &&
+       git reset --hard $V &&
+       git filter-branch --state-branch state -f --tree-filter "touch file || :" HEAD &&
+       test_cmp_rev $W HEAD
+'
+
 git tag oldD HEAD~4
 test_expect_success 'rewrite one branch, keeping a side branch' '
        git branch modD oldD &&
@@ -448,10 +463,11 @@ test_expect_success 'rewrite submodule with another content' '
 '
 
 test_expect_success 'replace submodule revision' '
+       invalid=$(test_oid numeric) &&
        git reset --hard original &&
        git filter-branch -f --tree-filter \
            "if git ls-files --error-unmatch -- submod > /dev/null 2>&1
-            then git update-index --cacheinfo 160000 0123456789012345678901234567890123456789 submod
+            then git update-index --cacheinfo 160000 $invalid submod
             fi" HEAD &&
        test $orig_head != $(git show-ref --hash --head HEAD)
 '