aboutsummaryrefslogtreecommitdiffstats
path: root/submodule.h
diff options
context:
space:
mode:
authorBrandon Williams <bmwill@google.com>2017-04-05 10:47:19 -0700
committerJunio C Hamano <gitster@pobox.com>2017-04-11 00:45:26 -0700
commit06bf4ad1db92c32af38e16d9b7f928edbd647780 (patch)
tree2633f6ac10cfc7ceaa58972990b7d3a82afa5d0d /submodule.h
parent93481a6b89be41086997ecaf9454f0c0bf6a961e (diff)
downloadgit-06bf4ad1db92c32af38e16d9b7f928edbd647780.tar.gz
push: propagate remote and refspec with --recurse-submodules
Teach "push --recurse-submodules" to propagate, if given a name as remote, the provided remote and refspec recursively to the pushes performed in the submodules. The push will therefore only succeed if all submodules have a remote with such a name configured. Note that "push --recurse-submodules" with a path or URL as remote will not propagate the remote or refspec and instead use the default remote and refspec configured in the submodule, preserving the current behavior. 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 0e26430fd3..127ff9be84 100644
--- a/submodule.h
+++ b/submodule.h
@@ -4,6 +4,7 @@
struct diff_options;
struct argv_array;
struct sha1_array;
+struct remote;
enum {
RECURSE_SUBMODULES_ONLY = -5,
@@ -91,7 +92,8 @@ extern int find_unpushed_submodules(struct sha1_array *commits,
const char *remotes_name,
struct string_list *needs_pushing);
extern int push_unpushed_submodules(struct sha1_array *commits,
- const char *remotes_name,
+ const struct remote *remote,
+ const char **refspec, int refspec_nr,
const struct string_list *push_options,
int dry_run);
extern void connect_work_tree_and_git_dir(const char *work_tree, const char *git_dir);