diff options
author | Brandon Williams <bmwill@google.com> | 2017-04-05 10:47:19 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-04-11 00:45:26 -0700 |
commit | 06bf4ad1db92c32af38e16d9b7f928edbd647780 (patch) | |
tree | 2633f6ac10cfc7ceaa58972990b7d3a82afa5d0d /transport.c | |
parent | 93481a6b89be41086997ecaf9454f0c0bf6a961e (diff) | |
download | git-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 'transport.c')
-rw-r--r-- | transport.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/transport.c b/transport.c index 64e60b6353..a62e5118c0 100644 --- a/transport.c +++ b/transport.c @@ -1030,7 +1030,8 @@ int transport_push(struct transport *transport, sha1_array_append(&commits, ref->new_oid.hash); if (!push_unpushed_submodules(&commits, - transport->remote->name, + transport->remote, + refspec, refspec_nr, transport->push_options, pretend)) { sha1_array_clear(&commits); |