v3 builds upon v2 by adding 3 additional patches to add functionality to also
propagate the remote and refspec down to children process's working to push
submodules.  The remote and refspec will only be propagated if the provided
remote is configured. A remote provided in the form of a URL will cause the
remote and refspec to not be propagated down to the submodules and instead the
default remote and refspec will be used, preserving existing functionality.
Currently the only supported LHS of a refspec must exactly match a single ref
in the submodule (e.g. a branch name).

Patches [1/5] and [2/5] remain unchanged from v2.

Brandon Williams (5):
  push: unmark a local variable as static
  push: propagate push-options with --recurse-submodules
  remote: expose parse_push_refspec function
  submodule--helper: add push-check subcommand
  push: propagate remote and refspec with --recurse-submodules

 builtin/push.c                 |  5 +--
 builtin/submodule--helper.c    | 45 +++++++++++++++++++++++++
 remote.c                       |  2 +-
 remote.h                       |  1 +
 submodule.c                    | 74 +++++++++++++++++++++++++++++++++++++++---
 submodule.h                    |  5 ++-
 t/t5531-deep-submodule-push.sh | 52 +++++++++++++++++++++++++++++
 t/t5545-push-options.sh        | 40 +++++++++++++++++++++++
 transport.c                    |  4 ++-
 9 files changed, 219 insertions(+), 9 deletions(-)

-- 
2.12.2.715.g7642488e1d-goog

Reply via email to