From: Ævar Arnfjörð Bjarmason Date: Wed, 31 Aug 2022 23:18:02 +0000 (+0200) Subject: submodule--helper: return "ret", not "1" from update_submodule() X-Git-Tag: v2.38.0-rc0~19^2~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0b917a9f5cb21ca1655daf549108361602e912f3;p=thirdparty%2Fgit.git submodule--helper: return "ret", not "1" from update_submodule() Amend the update_submodule() function to return the failing "ret" on error, instead of overriding it with "1". This code was added in b3c5f5cb048 (submodule: move core cmd_update() logic to C, 2022-03-15), and this change ends up not making a difference as this function is only called in update_submodules(). If we return non-zero here we'll always in turn return "1" in module_update(). But if we didn't do that and returned any other non-zero exit code in update_submodules() we'd fail the test that's being amended here. We're still testing the status quo here. This change makes subsequent refactoring of update_submodule() easier, as we'll no longer need to worry about clobbering the "ret" we get from the run_command(). Signed-off-by: Ævar Arnfjörð Bjarmason Reviewed-by: Glen Choo Signed-off-by: Junio C Hamano --- diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index d76ee0323e..d6a827366d 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -2445,7 +2445,7 @@ static int update_submodule(struct update_data *update_data) update_data->displaypath); if (ret == 128) exit(ret); - return 1; + return ret; } return 0; diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh index 6cc07460dd..c5f5dbe55e 100755 --- a/t/t7406-submodule-update.sh +++ b/t/t7406-submodule-update.sh @@ -769,7 +769,7 @@ test_expect_success 'submodule update continues after recursive checkout error' echo "" > file ) ) && - test_must_fail git submodule update --recursive && + test_expect_code 1 git submodule update --recursive && (cd submodule2 && git rev-parse --verify HEAD >../actual ) &&