Sorry, my previous message accidentally sent before I was done. One more comment: > -----Original Message----- > From: Stefan Beller [mailto:sbeller@xxxxxxxxxx] > +test_expect_failure '"checkout --recurse-submodules" needs -f to update > modifed submodule content' ' > + echo modified >submodule/second.t && > + test_must_fail git checkout --recurse-submodules HEAD^ && > + test_must_fail git diff-files --quiet submodule && > + git diff-files --quiet file && > + git checkout --recurse-submodules -f HEAD^ && > + git diff-files --quiet && > + git diff-index --quiet --cached HEAD && > + git checkout --recurse-submodules -f master && > + git diff-files --quiet && > + git diff-index --quiet --cached HEAD > +' It might be worth adding some comments explaining why you expect these to fail.