submodule: use "fetch" logic instead of custom remote discovery
Replace a use of the get_default_remote() function with an invocation of "git fetch" The "fetch" command already has logic to discover the remote for the current branch. However, before it learned to accept a custom refspec *and* use its idea of the default remote, it wasn't possible to get rid of some equivalent of the "get_default_remote" invocation here. As it turns out the recently added "--stdin" option to fetch[1] gives us a way to do that. Let's use it instead. While I'm at it simplify the "fetch_in_submodule" function. It wasn't necessary to pass "$@" to "fetch" since we'd only ever provide one SHA-1 as an argument in the previous "*" codepath (in addition to "--depth=N"). Rewrite the function to more narrowly reflect its use-case. 1. https://lore.kernel.org/git/87eekwf87n.fsf@evledraar.gmail.com/ Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
898f80736c
commit
1c1518071c
@ -416,13 +416,15 @@ is_tip_reachable () (
|
||||
fetch_in_submodule () (
|
||||
sanitize_submodule_env &&
|
||||
cd "$1" &&
|
||||
case "$2" in
|
||||
'')
|
||||
git fetch ;;
|
||||
*)
|
||||
shift
|
||||
git fetch $(get_default_remote) "$@" ;;
|
||||
esac
|
||||
if test $# -eq 3
|
||||
then
|
||||
echo "$3" | git fetch --stdin "$2"
|
||||
elif test "$2" -ne ""
|
||||
then
|
||||
git fetch "$2"
|
||||
else
|
||||
git fetch
|
||||
fi
|
||||
)
|
||||
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user