diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-10-25 17:11:37 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-10-25 17:11:37 -0700 |
commit | 1155c8efbb152ecb5fb9e1414245f4ab637f37ab (patch) | |
tree | f25778e7a1344b38e74e9ff40259c98ad5617829 | |
parent | 48b754ddc0b8fad69e032d05bf79cfcab9c28000 (diff) | |
parent | e288b3de35eaaf3febe07cd56565d8e8af17fb1e (diff) | |
download | git-1155c8efbb152ecb5fb9e1414245f4ab637f37ab.tar.gz |
Merge branch 'jc/branch-description-unset' into maint-2.38
"GIT_EDITOR=: git branch --edit-description" resulted in failure,
which has been corrected.
* jc/branch-description-unset:
branch: do not fail a no-op --edit-desc
-rw-r--r-- | builtin/branch.c | 6 | ||||
-rwxr-xr-x | t/t3200-branch.sh | 3 |
2 files changed, 7 insertions, 2 deletions
diff --git a/builtin/branch.c b/builtin/branch.c index 55cd9a6e99..c570fdb1ca 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -599,10 +599,11 @@ static GIT_PATH_FUNC(edit_description, "EDIT_DESCRIPTION") static int edit_branch_description(const char *branch_name) { + int exists; struct strbuf buf = STRBUF_INIT; struct strbuf name = STRBUF_INIT; - read_branch_desc(&buf, branch_name); + exists = !read_branch_desc(&buf, branch_name); if (!buf.len || buf.buf[buf.len-1] != '\n') strbuf_addch(&buf, '\n'); strbuf_commented_addf(&buf, @@ -619,7 +620,8 @@ static int edit_branch_description(const char *branch_name) strbuf_stripspace(&buf, 1); strbuf_addf(&name, "branch.%s.description", branch_name); - git_config_set(name.buf, buf.len ? buf.buf : NULL); + if (buf.len || exists) + git_config_set(name.buf, buf.len ? buf.buf : NULL); strbuf_release(&name); strbuf_release(&buf); diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index 88b9c56e5c..c7ec1c7520 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -1382,6 +1382,9 @@ test_expect_success 'branch --delete --force removes dangling branch' ' ' test_expect_success 'use --edit-description' ' + EDITOR=: git branch --edit-description && + test_must_fail git config branch.main.description && + write_script editor <<-\EOF && echo "New contents" >"$1" EOF |