aboutsummaryrefslogtreecommitdiffstats
path: root/submodule.h
diff options
context:
space:
mode:
authorBrandon Williams <bmwill@google.com>2016-11-17 10:46:04 -0800
committerJunio C Hamano <gitster@pobox.com>2016-11-23 08:39:14 -0800
commit0301c821c5cd124733accfbff0ddbf7f0b0ee9fb (patch)
treeb41edb26a5a5e4b91b24124bec9c0df067e2be19 /submodule.h
parent1aa73658405ad423127b3c14ac13e46f9ad0163a (diff)
downloadgit-0301c821c5cd124733accfbff0ddbf7f0b0ee9fb.tar.gz
push: fix --dry-run to not push submodules
Teach push to respect the --dry-run option when configured to recursively push submodules 'on-demand'. This is done by passing the --dry-run flag to the child process which performs a push for a submodules when performing a dry-run. In order to preserve good user experience, the additional check for unpushed submodules is skipped during a dry-run when --recurse-submodules=on-demand. The check is skipped because the submodule pushes were performed as dry-runs and this check would always fail as the submodules would still need to be pushed. Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'submodule.h')
-rw-r--r--submodule.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/submodule.h b/submodule.h
index 9454806dc5..23d76682b1 100644
--- a/submodule.h
+++ b/submodule.h
@@ -65,7 +65,9 @@ int merge_submodule(unsigned char result[20], const char *path, const unsigned c
const unsigned char a[20], const unsigned char b[20], int search);
int find_unpushed_submodules(struct sha1_array *commits, const char *remotes_name,
struct string_list *needs_pushing);
-int push_unpushed_submodules(struct sha1_array *commits, const char *remotes_name);
+extern int push_unpushed_submodules(struct sha1_array *commits,
+ const char *remotes_name,
+ int dry_run);
void connect_work_tree_and_git_dir(const char *work_tree, const char *git_dir);
int parallel_submodules(void);