From: Heiko Voigt <hvoigt@xxxxxxxxxx> These tests are used to extend push to check whether all recorded submodule commits have also been pushed. Signed-off-by: Heiko Voigt <hvoigt@xxxxxxxxxx> --- t/t5531-deep-submodule-push.sh | 46 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 45 insertions(+), 1 deletions(-) diff --git a/t/t5531-deep-submodule-push.sh b/t/t5531-deep-submodule-push.sh index faa2e96..0b55466 100755 --- a/t/t5531-deep-submodule-push.sh +++ b/t/t5531-deep-submodule-push.sh @@ -28,8 +28,52 @@ test_expect_success setup ' test_expect_success push ' ( cd work && - git push ../pub.git master + git push -f ../pub.git master ) ' +test_expect_failure 'push fails if submodule has no remote' ' + ( + cd work/gar/bage && + >junk2 && + git add junk2 && + git commit -m "Second junk" + ) && + ( + cd work && + git add gar/bage && + git commit -m "Second commit for gar/bage" && + test_must_fail git push ../pub.git master + ) +' + +test_expect_failure 'push fails if submodule commit not on remote' ' + ( + cd work/gar && + git clone --bare bage ../../submodule.git && + cd bage && + git remote add origin ../../../submodule.git && + git fetch && + >junk3 && + git add junk3 && + git commit -m "Third junk" + ) && + ( + cd work && + git add gar/bage && + git commit -m "Third commit for gar/bage" && + test_must_fail git push ../pub.git master + ) +' + +test_expect_failure 'push succeeds after commit was pushed to remote' ' + ( + cd work/gar/bage && + git push origin master + ) && + ( + cd work && + git push ../pub.git master + ) +' test_done -- 1.7.6.rc3.2.g0185a -- 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