diff mbox series

git-submodule: abort if core.worktree could not be set correctly

Message ID 20190118215519.107700-1-sbeller@google.com (mailing list archive)
State New, archived
Headers show
Series git-submodule: abort if core.worktree could not be set correctly | expand

Commit Message

Stefan Beller Jan. 18, 2019, 9:55 p.m. UTC
74d4731da1f (submodule--helper: replace connect-gitdir-workingtree by
ensure-core-worktree, 2018-08-13) forgot to exit the submodule operation
if the helper could not ensure that core.worktree is set correctly.

Signed-off-by: Stefan Beller <sbeller@google.com>
---
 git-submodule.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Junio C Hamano Jan. 18, 2019, 11:18 p.m. UTC | #1
Stefan Beller <sbeller@google.com> writes:

> 74d4731da1f (submodule--helper: replace connect-gitdir-workingtree by
> ensure-core-worktree, 2018-08-13) forgot to exit the submodule operation
> if the helper could not ensure that core.worktree is set correctly.
>
> Signed-off-by: Stefan Beller <sbeller@google.com>
> ---
>  git-submodule.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/git-submodule.sh b/git-submodule.sh
> index 5e608f8bad3..02a0d728174 100755
> --- a/git-submodule.sh
> +++ b/git-submodule.sh
> @@ -548,7 +548,7 @@ cmd_update()
>  	do
>  		die_if_unmatched "$quickabort" "$sha1"
>  
> -		git submodule--helper ensure-core-worktree "$sm_path"
> +		git submodule--helper ensure-core-worktree "$sm_path" || exit 1

Good to have more places check errors from underlying command.

Thanks.

Out of curiousity, was this found by code inspection, or was there a
real-world breakage episode?
Stefan Beller Jan. 18, 2019, 11:30 p.m. UTC | #2
On Fri, Jan 18, 2019 at 3:18 PM Junio C Hamano <gitster@pobox.com> wrote:
>
> Stefan Beller <sbeller@google.com> writes:
>
> > 74d4731da1f (submodule--helper: replace connect-gitdir-workingtree by
> > ensure-core-worktree, 2018-08-13) forgot to exit the submodule operation
> > if the helper could not ensure that core.worktree is set correctly.
> >
> > Signed-off-by: Stefan Beller <sbeller@google.com>
> > ---
> >  git-submodule.sh | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/git-submodule.sh b/git-submodule.sh
> > index 5e608f8bad3..02a0d728174 100755
> > --- a/git-submodule.sh
> > +++ b/git-submodule.sh
> > @@ -548,7 +548,7 @@ cmd_update()
> >       do
> >               die_if_unmatched "$quickabort" "$sha1"
> >
> > -             git submodule--helper ensure-core-worktree "$sm_path"
> > +             git submodule--helper ensure-core-worktree "$sm_path" || exit 1
>
> Good to have more places check errors from underlying command.
>
> Thanks.
>
> Out of curiousity, was this found by code inspection, or was there a
> real-world breakage episode?

By code inspection to come up with an answer for
https://public-inbox.org/git/CAG0vfyQeA3Hm7AsYgYtP4v-Yg0=rKXW0YYfg_emAwEscZha4VA@mail.gmail.com/

That issue in itself is not fully solved (Duy is still looking into it),
but this fixes a minor inconsistency along the way.
diff mbox series

Patch

diff --git a/git-submodule.sh b/git-submodule.sh
index 5e608f8bad3..02a0d728174 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -548,7 +548,7 @@  cmd_update()
 	do
 		die_if_unmatched "$quickabort" "$sha1"
 
-		git submodule--helper ensure-core-worktree "$sm_path"
+		git submodule--helper ensure-core-worktree "$sm_path" || exit 1
 
 		update_module=$(git submodule--helper update-module-mode $just_cloned "$sm_path" $update)