On Mon, Jun 25, 2018 at 8:58 AM Junio C Hamano <gitster@xxxxxxxxx> wrote: > > SZEDER Gábor <szeder.dev@xxxxxxxxx> writes: > > >> 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. > > Thanks for being a careful reviewer, as always. > > Will tweak locally to skip one round-trip. Thanks for tweaking locally. I reviewed your queued patch and it looks good to me. Thanks! I remember deliberately not using the i18n grep as we grep for a part that should stay the same in all languages. However I forgot that details of the test suite implementation (it doesn't have a real translation, so it doesn't matter that this particular piece of the message will show up in all translations) Sorry for my mishap in thinking there. Thanks, Stefan