summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-07-24 23:50:43 +0200
committerJunio C Hamano <gitster@pobox.com>2018-07-24 23:50:43 +0200
commit392b3dde513083b9975c990cd2cf410d2846b941 (patch)
tree61688f2addc58bfd88ebeb8698c67a552f593a9a
parentMerge branch 'rj/submodule-fsck-skip' (diff)
parentsubmodule.c: report the submodule that an error occurs in (diff)
downloadgit-392b3dde513083b9975c990cd2cf410d2846b941.tar.xz
git-392b3dde513083b9975c990cd2cf410d2846b941.zip
Merge branch 'sb/submodule-move-head-error-msg'
"git checkout --recurse-submodules another-branch" did not report in which submodule it failed to update the working tree, which resulted in an unhelpful error message. * sb/submodule-move-head-error-msg: submodule.c: report the submodule that an error occurs in
-rw-r--r--submodule.c2
-rwxr-xr-xt/lib-submodule-update.sh3
2 files changed, 3 insertions, 2 deletions
diff --git a/submodule.c b/submodule.c
index d3a9aab83d..2a6381864e 100644
--- a/submodule.c
+++ b/submodule.c
@@ -1682,7 +1682,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);
goto out;
}
diff --git a/t/lib-submodule-update.sh b/t/lib-submodule-update.sh
index aa5ac03325..be78cdc1ff 100755
--- a/t/lib-submodule-update.sh
+++ b/t/lib-submodule-update.sh
@@ -782,7 +782,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 &&
+ test_i18ngrep sub1 err &&
test_superproject_content origin/add_sub1 &&
test_submodule_content sub1 origin/add_sub1
)