> When an error occurs in updating the working tree of a submodule in > submodule_move_head, tell the user which submodule the error occurred in. > > The call to read-tree contains a super-prefix, such that the read-tree > will correctly report any path related issues, but some error messages > do not contain a path, for example: > > ~/gerrit$ git checkout --recurse-submodules origin/master > ~/gerrit$ fatal: failed to unpack tree object 07672f31880ba80300b38492df9d0acfcd6ee00a > > Give the hint which submodule has a problem. > > Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> > --- > submodule.c | 2 +- > t/lib-submodule-update.sh | 3 ++- > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/submodule.c b/submodule.c > index 939d6870ecd..ebd092a14fd 100644 > --- a/submodule.c > +++ b/submodule.c > @@ -1668,7 +1668,7 @@ int submodule_move_head(const char *path, > argv_array_push(&cp.args, new_head ? new_head : empty_tree_oid_hex()); > > if (run_command(&cp)) { > - ret = -1; > + ret = error(_("Submodule '%s' could not be updated."), path); This is a translated error message ... > goto out; > } > > diff --git a/t/lib-submodule-update.sh b/t/lib-submodule-update.sh > index 1f38a85371a..e27f5d8541d 100755 > --- a/t/lib-submodule-update.sh > +++ b/t/lib-submodule-update.sh > @@ -781,7 +781,8 @@ test_submodule_recursing_with_args_common() { > ( > cd submodule_update && > git branch -t invalid_sub1 origin/invalid_sub1 && > - test_must_fail $command invalid_sub1 && > + test_must_fail $command invalid_sub1 2>err && > + grep sub1 err && ... so the test should use 'test_i18ngrep' to check it. > test_superproject_content origin/add_sub1 && > test_submodule_content sub1 origin/add_sub1 > ) > -- > 2.18.0.rc2.346.g013aa6912e-goog > >