[PATCH] branch: error codes for "edit_description"
From: Rubén Justo <hidden>
Date: 2022-09-08 20:57:20
Subsystem:
the rest · Maintainer:
Linus Torvalds
Stick to the convention of exit with 1 on error. May break some third party tool that expects -1 on "No branch named 'bla'" or "No commit on branch 'bla' yet." errors. Test added to avoid regresion on this behaviour. --- Junio, here is the patch for the change you suggested [1]. My concern is this might break some third party tool or script. If no one thinks this is an issue, I can squash it with the patch I'm responding to. [1] https://lore.kernel.org/git/xmqq7d2fszhk.fsf@gitster.g/ (local) builtin/branch.c | 6 +++--- t/t3200-branch.sh | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/builtin/branch.c b/builtin/branch.c
index b1f6519cd9..01b6364f58 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c@@ -810,11 +810,11 @@ int cmd_branch(int argc, const char **argv, const char *prefix) else ret = error(_("No branch named '%s'."), branch_name); - } else if (edit_branch_description(branch_name)) - ret = 1; + } else + ret = edit_branch_description(branch_name); strbuf_release(&branch_ref); - return ret; + return -ret; } else if (copy) { if (!argc) die(_("branch name required"));
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh
index 9723c2827c..d09db3fe3d 100755
--- a/t/t3200-branch.sh
+++ b/t/t3200-branch.sh@@ -1409,6 +1409,14 @@ test_expect_success 'refuse --edit-description on unborn branch for now' ' test_must_fail env EDITOR=./editor git branch --edit-description ' +test_expect_success 'test error codes using --edit-description' ' + test_expect_code 1 env EDITOR=./invalid-editor git branch --edit-description main && + write_script editor <<-\EOF && + echo "New contents" >"$1" + EOF + test_expect_code 1 env EDITOR=./editor git branch --edit-description no-such-branch +' + test_expect_success '--merged catches invalid object names' ' test_must_fail git branch --merged 0000000000000000000000000000000000000000 '
--
2.36.1