From d2b17b3220cbd75b1c8e2aa6cfdc5c121749c97d Mon Sep 17 00:00:00 2001 From: Fredrik Gustafsson Date: Sat, 20 Aug 2011 00:08:47 +0200 Subject: push: Don't push a repository with unpushed submodules When working with submodules it is easy to forget to push a submodule to the server but pushing a super-project that contains a commit for that submodule. The result is that the superproject points at a submodule commit that is not available on the server. This adds the option --recurse-submodules=check to push. When using this option git will check that all submodule commits that are about to be pushed are present on a remote of the submodule. To be able to use a combined diff, disabling a diff callback has been removed from combined-diff.c. Signed-off-by: Fredrik Gustafsson Mentored-by: Jens Lehmann Mentored-by: Heiko Voigt Signed-off-by: Junio C Hamano --- Documentation/git-push.txt | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Documentation/git-push.txt') diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt index 88acfcd4cc..6ae6ba3c2e 100644 --- a/Documentation/git-push.txt +++ b/Documentation/git-push.txt @@ -162,6 +162,12 @@ useful if you write an alias or script around 'git push'. is specified. This flag forces progress status even if the standard error stream is not directed to a terminal. +--recurse-submodules=check:: + Check whether all submodule commits used by the revisions to be + pushed are available on a remote tracking branch. Otherwise the + push will be aborted and the command will exit with non-zero status. + + include::urls-remotes.txt[] OUTPUT -- cgit v1.2.1