From: "Phillip Wood via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Phillip Wood" <phillip.wood123@gmail.com>,
"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
"Phillip Wood" <phillip.wood@dunelm.org.uk>,
"Phillip Wood" <phillip.wood@dunelm.org.uk>
Subject: [PATCH v2 08/11] rebase: remove redundant strbuf
Date: Mon, 13 Sep 2021 15:19:19 +0000 [thread overview]
Message-ID: <ad3c4efc0272be8eee052a08731656a406f8f90b.1631546362.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1033.v2.git.1631546362.gitgitgadget@gmail.com>
From: Phillip Wood <phillip.wood@dunelm.org.uk>
There is already an strbuf that can be reused for creating messages.
msg is not freed if there is an error and there is a logic error where
we call strbuf_release(&msg) followed by strbuf_reset(&msg) and
strbuf_addf(&msg).
Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
---
builtin/rebase.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/builtin/rebase.c b/builtin/rebase.c
index 6138009d6e4..69a67ab1252 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -1299,7 +1299,6 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
int ret, flags, total_argc, in_progress = 0;
int keep_base = 0;
int ok_to_skip_pre_rebase = 0;
- struct strbuf msg = STRBUF_INIT;
struct strbuf revisions = STRBUF_INIT;
struct strbuf buf = STRBUF_INIT;
struct object_id merge_base;
@@ -2063,30 +2062,29 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
printf(_("First, rewinding head to replay your work on top of "
"it...\n"));
- strbuf_addf(&msg, "%s: checkout %s",
+ strbuf_reset(&buf);
+ strbuf_addf(&buf, "%s: checkout %s",
getenv(GIT_REFLOG_ACTION_ENVIRONMENT), options.onto_name);
if (reset_head(the_repository, &options.onto->object.oid, "checkout", NULL,
RESET_HEAD_DETACH | RESET_ORIG_HEAD |
RESET_HEAD_RUN_POST_CHECKOUT_HOOK,
- NULL, msg.buf, DEFAULT_REFLOG_ACTION))
+ NULL, buf.buf, DEFAULT_REFLOG_ACTION))
die(_("Could not detach HEAD"));
- strbuf_release(&msg);
/*
* If the onto is a proper descendant of the tip of the branch, then
* we just fast-forwarded.
*/
- strbuf_reset(&msg);
+ strbuf_reset(&buf);
if (oideq(&merge_base, &options.orig_head)) {
printf(_("Fast-forwarded %s to %s.\n"),
branch_name, options.onto_name);
- strbuf_addf(&msg, "rebase finished: %s onto %s",
+ strbuf_addf(&buf, "rebase finished: %s onto %s",
options.head_name ? options.head_name : "detached HEAD",
oid_to_hex(&options.onto->object.oid));
reset_head(the_repository, NULL, "Fast-forwarded", options.head_name,
- RESET_HEAD_REFS_ONLY, "HEAD", msg.buf,
+ RESET_HEAD_REFS_ONLY, "HEAD", buf.buf,
DEFAULT_REFLOG_ACTION);
- strbuf_release(&msg);
ret = !!finish_rebase(&options);
goto cleanup;
}
--
gitgitgadget
next prev parent reply other threads:[~2021-09-13 15:45 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-08 9:49 [PATCH 00/11] rebase: dereference tags Phillip Wood via GitGitGadget
2021-09-08 9:49 ` [PATCH 01/11] t3407: run tests in $TEST_DIRECTORY Phillip Wood via GitGitGadget
2021-09-08 10:41 ` Ævar Arnfjörð Bjarmason
2021-09-08 9:49 ` [PATCH 02/11] t3407: use test_commit Phillip Wood via GitGitGadget
2021-09-08 10:39 ` Ævar Arnfjörð Bjarmason
2021-09-08 9:49 ` [PATCH 03/11] t3407: use test_cmp_rev Phillip Wood via GitGitGadget
2021-09-08 10:40 ` Ævar Arnfjörð Bjarmason
2021-09-08 13:42 ` Phillip Wood
2021-09-08 9:49 ` [PATCH 04/11] t3407: rename a variable Phillip Wood via GitGitGadget
2021-09-08 9:49 ` [PATCH 05/11] t3407: use test_path_is_missing Phillip Wood via GitGitGadget
2021-09-08 9:49 ` [PATCH 06/11] t3407: strengthen rebase --abort tests Phillip Wood via GitGitGadget
2021-09-08 10:42 ` Ævar Arnfjörð Bjarmason
2021-09-08 9:49 ` [PATCH 07/11] t3407: rework rebase --quit tests Phillip Wood via GitGitGadget
2021-09-08 9:49 ` [PATCH 08/11] rebase: remove redundant strbuf Phillip Wood via GitGitGadget
2021-09-09 10:35 ` Johannes Schindelin
2021-09-08 9:49 ` [PATCH 09/11] rebase: use our standard error return value Phillip Wood via GitGitGadget
2021-09-08 9:49 ` [PATCH 10/11] rebase: use lookup_commit_reference_by_name() Phillip Wood via GitGitGadget
2021-09-08 9:49 ` [PATCH 11/11] rebase: dereference tags Phillip Wood via GitGitGadget
2021-09-08 10:45 ` Ævar Arnfjörð Bjarmason
2021-09-13 15:19 ` [PATCH v2 00/11] " Phillip Wood via GitGitGadget
2021-09-13 15:19 ` [PATCH v2 01/11] t3407: run tests in $TEST_DIRECTORY Phillip Wood via GitGitGadget
2021-09-13 15:19 ` [PATCH v2 02/11] t3407: use test_commit Phillip Wood via GitGitGadget
2021-09-13 15:19 ` [PATCH v2 03/11] t3407: use test_cmp_rev Phillip Wood via GitGitGadget
2021-09-13 15:19 ` [PATCH v2 04/11] t3407: rename a variable Phillip Wood via GitGitGadget
2021-09-13 15:19 ` [PATCH v2 05/11] t3407: use test_path_is_missing Phillip Wood via GitGitGadget
2021-09-13 15:19 ` [PATCH v2 06/11] t3407: strengthen rebase --abort tests Phillip Wood via GitGitGadget
2021-09-13 15:19 ` [PATCH v2 07/11] t3407: rework rebase --quit tests Phillip Wood via GitGitGadget
2021-09-13 15:19 ` Phillip Wood via GitGitGadget [this message]
2021-09-13 18:34 ` [PATCH v2 08/11] rebase: remove redundant strbuf René Scharfe
2021-09-13 22:40 ` Junio C Hamano
2021-09-14 10:31 ` Phillip Wood
2021-09-14 10:33 ` Phillip Wood
2021-09-13 15:19 ` [PATCH v2 09/11] rebase: use our standard error return value Phillip Wood via GitGitGadget
2021-09-13 15:19 ` [PATCH v2 10/11] rebase: use lookup_commit_reference_by_name() Phillip Wood via GitGitGadget
2021-09-13 15:19 ` [PATCH v2 11/11] rebase: dereference tags Phillip Wood via GitGitGadget
2021-09-13 22:58 ` Junio C Hamano
2021-09-14 10:17 ` Phillip Wood
2021-09-14 13:27 ` Phillip Wood
2021-09-14 16:29 ` Junio C Hamano
2021-09-14 3:42 ` Elijah Newren
2021-09-14 9:48 ` Sergey Organov
2021-09-14 9:58 ` Phillip Wood
2021-09-14 4:02 ` [PATCH v2 00/11] " Elijah Newren
2021-09-21 10:23 ` [PATCH v3 00/10] " Phillip Wood via GitGitGadget
2021-09-21 10:23 ` [PATCH v3 01/10] t3407: run tests in $TEST_DIRECTORY Phillip Wood via GitGitGadget
2021-09-21 10:23 ` [PATCH v3 02/10] t3407: use test_commit Phillip Wood via GitGitGadget
2021-09-21 10:24 ` [PATCH v3 03/10] t3407: use test_cmp_rev Phillip Wood via GitGitGadget
2021-09-21 10:24 ` [PATCH v3 04/10] t3407: rename a variable Phillip Wood via GitGitGadget
2021-09-21 10:24 ` [PATCH v3 05/10] t3407: use test_path_is_missing Phillip Wood via GitGitGadget
2021-09-21 10:24 ` [PATCH v3 06/10] t3407: strengthen rebase --abort tests Phillip Wood via GitGitGadget
2021-09-21 10:24 ` [PATCH v3 07/10] t3407: rework rebase --quit tests Phillip Wood via GitGitGadget
2021-09-21 10:24 ` [PATCH v3 08/10] rebase: use our standard error return value Phillip Wood via GitGitGadget
2021-09-21 10:24 ` [PATCH v3 09/10] rebase: use lookup_commit_reference_by_name() Phillip Wood via GitGitGadget
2021-09-21 10:24 ` [PATCH v3 10/10] rebase: dereference tags Phillip Wood via GitGitGadget
2021-09-24 1:26 ` [PATCH v3 00/10] " Elijah Newren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ad3c4efc0272be8eee052a08731656a406f8f90b.1631546362.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=phillip.wood123@gmail.com \
--cc=phillip.wood@dunelm.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).