]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t4150-am.sh
am: reload .gitattributes after patching it
[thirdparty/git.git] / t / t4150-am.sh
index 3f7f750cc8d7442458323f9ec77a371db3818320..4f1e24ecbecd87667251eab612c9b966405d53c6 100755 (executable)
@@ -1061,4 +1061,56 @@ test_expect_success 'am --quit keeps HEAD where it is' '
        test_cmp expected actual
 '
 
+test_expect_success 'am and .gitattibutes' '
+       test_create_repo attributes &&
+       (
+               cd attributes &&
+               test_commit init &&
+               git config filter.test.clean "sed -e '\''s/smudged/clean/g'\''" &&
+               git config filter.test.smudge "sed -e '\''s/clean/smudged/g'\''" &&
+
+               test_commit second &&
+               git checkout -b test HEAD^ &&
+
+               echo "*.txt filter=test conflict-marker-size=10" >.gitattributes &&
+               git add .gitattributes &&
+               test_commit third &&
+
+               echo "This text is smudged." >a.txt &&
+               git add a.txt &&
+               test_commit fourth &&
+
+               git checkout -b removal HEAD^ &&
+               git rm .gitattributes &&
+               git add -u &&
+               test_commit fifth &&
+               git cherry-pick test &&
+
+               git checkout -b conflict third &&
+               echo "This text is different." >a.txt &&
+               git add a.txt &&
+               test_commit sixth &&
+
+               git checkout test &&
+               git format-patch --stdout master..HEAD >patches &&
+               git reset --hard master &&
+               git am patches &&
+               grep "smudged" a.txt &&
+
+               git checkout removal &&
+               git reset --hard &&
+               git format-patch --stdout master..HEAD >patches &&
+               git reset --hard master &&
+               git am patches &&
+               grep "clean" a.txt &&
+
+               git checkout conflict &&
+               git reset --hard &&
+               git format-patch --stdout master..HEAD >patches &&
+               git reset --hard fourth &&
+               test_must_fail git am -3 patches &&
+               grep "<<<<<<<<<<" a.txt
+       )
+'
+
 test_done