Re: [PATCH 09/10] git submodule update: cmd_update_recursive
On Wed, Sep 16, 2015 at 9:39 PM, Stefan Beller <sbeller@google.com> wrote:
> git submodule update: cmd_update_recursive
Commit message doesn't seem to match the patch...
Show 70 quoted lines
> Signed-off-by: Stefan Beller <sbeller@google.com>
> ---
> git-submodule.sh | 31 ++++++++++++++++++++-----------
> 1 file changed, 20 insertions(+), 11 deletions(-)
>
> diff --git a/git-submodule.sh b/git-submodule.sh
> index 52c2967..c40d60f 100755
> --- a/git-submodule.sh
> +++ b/git-submodule.sh
> @@ -607,6 +607,24 @@ cmd_update_recursive()
> fi
> }
>
> +cmd_update_clone()
> +{
> + command="git checkout $subforce -q"
> + die_msg="$(eval_gettext "Unable to checkout '\$sha1' in submodule path '\$displaypath'")"
> + say_msg="$(eval_gettext "Submodule path '\$displaypath': checked out '\$sha1'")"
> +
> + git submodule--helper clone ${GIT_QUIET:+--quiet} ${prefix:+--prefix "$prefix"} --path "$sm_path" --name "$name" --url "$url" "$reference" "$depth" || exit
> +
> + if (clear_local_git_env; cd "$sm_path" && $command "$sha1")
> + then
> + say "$say_msg"
> + else
> + err="${err};$die_msg"
> + return
> + fi
> + cmd_update_recursive
> +}
> +
> #
> # Update each submodule path to correct revision, using clone and checkout as needed
> #
> @@ -680,7 +698,6 @@ cmd_update()
> cmd_init "--" "$@" || return
> fi
>
> - cloned_modules=
> git submodule--helper list --prefix "$wt_prefix" "$@" | {
> err=
> while read mode sha1 stage sm_path
> @@ -725,9 +742,8 @@ Maybe you want to use 'update --init'?")"
>
> if ! test -d "$sm_path"/.git && ! test -f "$sm_path"/.git
> then
> - git submodule--helper clone ${GIT_QUIET:+--quiet} ${prefix:+--prefix "$prefix"} --path "$sm_path" --name "$name" --url "$url" "$reference" "$depth" || exit
> - cloned_modules="$cloned_modules;$name"
> - subsha1=
> + cmd_update_clone
> + continue
> else
> subsha1=$(clear_local_git_env; cd "$sm_path" &&
> git rev-parse --verify HEAD) ||
> @@ -767,13 +783,6 @@ Maybe you want to use 'update --init'?")"
> die "$(eval_gettext "Unable to fetch in submodule path '\$displaypath'")"
> fi
>
> - # Is this something we just cloned?
> - case ";$cloned_modules;" in
> - *";$name;"*)
> - # then there is no local change to integrate
> - update_module=checkout ;;
> - esac
> -
> must_die_on_failure=
> case "$update_module" in
> checkout)
> --
> 2.6.0.rc0.131.gf624c3d