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.