From patchwork Tue Nov 12 10:20:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Kristoffer Haugsbakk X-Patchwork-Id: 13872057 Received: from fout-a6-smtp.messagingengine.com (fout-a6-smtp.messagingengine.com [103.168.172.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E58DC1F7558 for ; Tue, 12 Nov 2024 10:20:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.149 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731406844; cv=none; b=IXFH9S9VZ0KrcG4xCHFoTiP2otUk/bXcIWMLs4s7Qo+5+wCcEXGbJMZGI3XMsnTIdTufdiAcgLg0SE2jfeKgg5H3q7CbfNHF+rp7nJe2dGL1bnqd/5J7a5m37cTkFemtuwSptYGi6l1C/MuojIhwT/fowNTKO1Av7fRMY29PiSI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731406844; c=relaxed/simple; bh=R+JMQX8AT4QKBmk4gvyCKGY9vq/vH0NvrnuTB3eT8D0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=KBGMaC3R7rRctniVTMgexTC6CX4t4+6bTNErk97DcyKyH+CqWukDuKTX7qX5Q4eRP5onzbR+zOETvLdiQvz8QluOugeumncl4UOaRjiZtgvRCd2rwWjc5I6Yp3ZDBJs2d3pThFMa9QJPvXOwrToCPBq3Bb6xuNeQU8YOg1J3oKI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fastmail.com; spf=pass smtp.mailfrom=fastmail.com; dkim=pass (2048-bit key) header.d=fastmail.com header.i=@fastmail.com header.b=BOzbgn2x; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=aW0YfnAH; arc=none smtp.client-ip=103.168.172.149 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fastmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fastmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fastmail.com header.i=@fastmail.com header.b="BOzbgn2x"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="aW0YfnAH" Received: from phl-compute-06.internal (phl-compute-06.phl.internal [10.202.2.46]) by mailfout.phl.internal (Postfix) with ESMTP id DD1A813804CE; Tue, 12 Nov 2024 05:20:41 -0500 (EST) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-06.internal (MEProxy); Tue, 12 Nov 2024 05:20:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1731406841; x=1731493241; bh=n5wHIGDMXrv01qe41SC9YUV2e/SAP9bN9EGn/vuLeMM=; b= BOzbgn2x0LxEmhqX8C8qH+x2C4A8POq5f773iMMcntzkuuSTf6BYkjM0aQ3Wipdq +1sS1x1F6Lt8hvVjXtRK8zIwjdQKtV03+QmrxveChhgxHwWnzJxVe9kyyel+qvtq N6nrPScaHLlMldRTQdZnxMkDybEtmhqLu6pXed1b8zkwR+4aWekzPWaboD655mzn ulgjltZcrBw0ij5QxjjUPUMYPncCYD8JB+iaxSNpjEux15qtqsGYk4RNG9QlINBZ 0lUGW+Q648pMFEEKYj9bvnZFEt09PCbeHNHb6qK9GerWJLDgjyZmnqvr11C38WS2 6MNfnkwpCnfng5BruIR0ZQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1731406841; x= 1731493241; bh=n5wHIGDMXrv01qe41SC9YUV2e/SAP9bN9EGn/vuLeMM=; b=a W0YfnAHOtze3pT+Cd0QLurD1J7ao54/GTPNtZoJUn1f6j2ovYsKQSTROYrREolP6 6+XDCTZRHtdnojzQqyhmBjq37PMhpVgQN8mCoIDGzRFdcpf7bvfFLR9gut1yqDke 3RFGZEbOfYHUuBx68Orn/vcbtS1mJqB8DVj4OYkuvmE4alIq5EPvmXCOYLFBMdnA 1O0cCN8KSxJGpA5bpXo6RpiezX+bkVmHGjb5Goi/cvJat2NZvn4/EYa/3EfMB5JE XVBhrjugSjRB3GFwv00hF8YI7fv0lQf0uErwtVrHtHaCLW5kINaHH9frY7nEa/i4 375aacIrNppEHlXqykZUg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudeggdduudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdpuffr tefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurhephffvvefuff fkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpehkrhhishhtohhffhgvrhhhrghu ghhssggrkhhksehfrghsthhmrghilhdrtghomhenucggtffrrghtthgvrhhnpefhgfegle fhjeekgfetleetjefhteeiheegfedtudduffegjefhkeetudeggffhkeenucevlhhushht vghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehkrhhishhtohhffhgvrh hhrghughhssggrkhhksehfrghsthhmrghilhdrtghomhdpnhgspghrtghpthhtohephedp mhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepghhithesvhhgvghrrdhkvghrnhgvlh drohhrghdprhgtphhtthhopegtohguvgeskhhhrghughhssggrkhhkrdhnrghmvgdprhgt phhtthhopehsthholhgvvgesghhmrghilhdrtghomhdprhgtphhtthhopehphhhilhhlih hprdifohhougduvdefsehgmhgrihhlrdgtohhmpdhrtghpthhtohepmhgvsehtthgrhihl ohhrrhdrtghomh X-ME-Proxy: Feedback-ID: i8b11424c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 12 Nov 2024 05:20:40 -0500 (EST) From: kristofferhaugsbakk@fastmail.com To: git@vger.kernel.org Cc: Kristoffer Haugsbakk , stolee@gmail.com, phillip.wood123@gmail.com, me@ttaylorr.com Subject: [PATCH v2 1/3] sequencer: comment checked-out branch properly Date: Tue, 12 Nov 2024 11:20:11 +0100 Message-ID: X-Mailer: git-send-email 2.47.0.317.g7d2562b9734 In-Reply-To: References: <5267b9a9c8cc5cc66979117dc4c1e4d7329e2a03.1729704370.git.code@khaugsbakk.name> Precedence: bulk X-Mailing-List: git@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Kristoffer Haugsbakk `git rebase --update-ref` does not insert commands for dependent/sub- branches which are checked out.[1] Instead it leaves a comment about that fact. The comment char is hardcoded (#). In turn the comment line gets interpreted as an invalid command when `core.commentChar` is in use. † 1: 900b50c242 (rebase: add --update-refs option, 2022-07-19) Signed-off-by: Kristoffer Haugsbakk --- Notes (series): v2: • Message: “hardcoded” (more common according to `git grep`) sequencer.c | 5 +++-- t/t3400-rebase.sh | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/sequencer.c b/sequencer.c index 353d804999b..1b6fd86f70b 100644 --- a/sequencer.c +++ b/sequencer.c @@ -6382,8 +6382,9 @@ static int add_decorations_to_list(const struct commit *commit, /* If the branch is checked out, then leave a comment instead. */ if ((path = branch_checked_out(decoration->name))) { item->command = TODO_COMMENT; - strbuf_addf(ctx->buf, "# Ref %s checked out at '%s'\n", - decoration->name, path); + strbuf_commented_addf(ctx->buf, comment_line_str, + "Ref %s checked out at '%s'\n", + decoration->name, path); } else { struct string_list_item *sti; item->command = TODO_UPDATE_REF; diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh index 09f230eefb2..f61a717b190 100755 --- a/t/t3400-rebase.sh +++ b/t/t3400-rebase.sh @@ -456,4 +456,20 @@ test_expect_success 'rebase when inside worktree subdirectory' ' ) ' +test_expect_success 'git rebase --update-ref with core.commentChar and branch on worktree' ' + test_when_finished git branch -D base topic2 && + test_when_finished git checkout main && + test_when_finished git branch -D wt-topic && + test_when_finished git worktree remove wt-topic && + git checkout main && + git checkout -b base && + git checkout -b topic2 && + test_commit msg2 && + git worktree add wt-topic && + git checkout base && + test_commit msg3 && + git checkout topic2 && + git -c core.commentChar=% rebase --update-refs base +' + test_done From patchwork Tue Nov 12 10:20:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Kristoffer Haugsbakk X-Patchwork-Id: 13872058 Received: from fhigh-a2-smtp.messagingengine.com (fhigh-a2-smtp.messagingengine.com [103.168.172.153]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1D9261F7558 for ; Tue, 12 Nov 2024 10:20:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.153 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731406852; cv=none; b=jnFzPEui6Lfq9mnbIifApUfIXz8nKaW4WVFBnd0D6a1E4/INxC2KdRNLHWht23cUGMN0DehoH7CYGtU0my84dSPAlzA+R8ud9ZcZEzbePX4qdR9O5Z8jqwVvj2xZ4erYo+4wdOqtdxGYxqjeldoLHNej/hn5cWTkgfWlh8/Glg4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731406852; c=relaxed/simple; bh=sSxb4bLn3uh4Cdr5+XDHYCChni0RNpXeeS2dSlZOZ7s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=fwxIEFdFjTuxOeQ0alLv0f9BGTSFk1ncYT1CJ0ppBQqLeQXXoKLUf3Zb5c2hLHN7By8Sqpbno047ud50WHuED6vAVRTM72w1XiOOdRPHG9wdtmsGZ76LDIBUZ2RCD/vPwG387qQE2tKZ59eMbdtbEyZ6tfoSLb2tUWezjt7i1B0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fastmail.com; spf=pass smtp.mailfrom=fastmail.com; dkim=pass (2048-bit key) header.d=fastmail.com header.i=@fastmail.com header.b=eyag8QdQ; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=jk8y0Vs6; arc=none smtp.client-ip=103.168.172.153 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fastmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fastmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fastmail.com header.i=@fastmail.com header.b="eyag8QdQ"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="jk8y0Vs6" Received: from phl-compute-12.internal (phl-compute-12.phl.internal [10.202.2.52]) by mailfhigh.phl.internal (Postfix) with ESMTP id 3A3A911401D2; Tue, 12 Nov 2024 05:20:49 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-12.internal (MEProxy); Tue, 12 Nov 2024 05:20:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1731406849; x=1731493249; bh=B0Yk7vtPfnROu6oEekg40wiAT5/BiD9PGk1lp27YqQc=; b= eyag8QdQCdmXFhJhu+Vxm9pLKPOJTq6XvPd+nM/4wExEQsatKoLvIvJHZJiQ7ipf P3p1XarBHWRLJjiqu1SaCQ6TYI+1qwAZxKe18lUMVe7Y6sccjfIpCQ8SIfxPwXtt 6uS+SFDX1YXR2NMa02QjpCZ4h7R5Dun3lJJdqi0V1E5zr3jZL7fkBWL2Y1JDir5B XCaIxnF5WDycfVOuTp0agT08erEPzRfGhxxL8CnSMLnDmU3TEH4Ks57//UXFw2fT 9b29RtT9WeetUjtcBn7QibvuGImhSoNyFQO8z7DRVBmsWgX6nFgkZJjOmVRR/s0E v8DkSPo0nYgDPONVfPwIYw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1731406849; x= 1731493249; bh=B0Yk7vtPfnROu6oEekg40wiAT5/BiD9PGk1lp27YqQc=; b=j k8y0Vs6ZWaT0c+2K7zkLE6ExAZvCu7Sm51ko0DOmmFpxZ/00mEKD9OB3gy2WVJON MbOJNu2rS+P/FJX4w9A6q93vonzaK422uYFlXeSIY3/vQxu30Gu9wzqABg4IapNa WcMB1Pip0Y58aCmBn50NTRflEIziy9Fs97ARLeMrmclqlRBQU88xZRC3L9UcymhT 0o4P2aYipdaUV77DK5YVo1y+xPr9cljefEh6D3OVT7hgfFmXEkx2riV9OBaUBfxB DIBdqcyLbT2olz77+imfPu93b1M/yvOQwx3xYxAeUnffeESnkiP4nBDAzYzfBd8W lHpfSS897DKsNpspBGbpg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudeggdduudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdpuffr tefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurhephffvvefuff fkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpehkrhhishhtohhffhgvrhhhrghu ghhssggrkhhksehfrghsthhmrghilhdrtghomhenucggtffrrghtthgvrhhnpefhgfegle fhjeekgfetleetjefhteeiheegfedtudduffegjefhkeetudeggffhkeenucevlhhushht vghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehkrhhishhtohhffhgvrh hhrghughhssggrkhhksehfrghsthhmrghilhdrtghomhdpnhgspghrtghpthhtohephedp mhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepghhithesvhhgvghrrdhkvghrnhgvlh drohhrghdprhgtphhtthhopegtohguvgeskhhhrghughhssggrkhhkrdhnrghmvgdprhgt phhtthhopehsthholhgvvgesghhmrghilhdrtghomhdprhgtphhtthhopehphhhilhhlih hprdifohhougduvdefsehgmhgrihhlrdgtohhmpdhrtghpthhtohepmhgvsehtthgrhihl ohhrrhdrtghomh X-ME-Proxy: Feedback-ID: i8b11424c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 12 Nov 2024 05:20:47 -0500 (EST) From: kristofferhaugsbakk@fastmail.com To: git@vger.kernel.org Cc: Kristoffer Haugsbakk , stolee@gmail.com, phillip.wood123@gmail.com, me@ttaylorr.com Subject: [PATCH v2 2/3] sequencer: comment `--reference` subject line properly Date: Tue, 12 Nov 2024 11:20:12 +0100 Message-ID: <710c5b1a3f6bf8dc112ff13f27a8b2165274488d.1731406513.git.code@khaugsbakk.name> X-Mailer: git-send-email 2.47.0.317.g7d2562b9734 In-Reply-To: References: <5267b9a9c8cc5cc66979117dc4c1e4d7329e2a03.1729704370.git.code@khaugsbakk.name> Precedence: bulk X-Mailing-List: git@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Kristoffer Haugsbakk Comment the subject line used in `git cherry-pick --reference` properly. Follow the existing pattern and use the case described in the original commit message[1] as the `core.commentChar` test case: If the user exits the editor without touching this line by mistake, what we prepare to become the first line of the body, i.e. "This reverts commit 8fa7f667 (do this and that, 2022-04-25)", ends up to be the title of the resulting commit. † 1: 43966ab3156 (revert: optionally refer to commit in the "reference" format, 2022-05-26) Signed-off-by: Kristoffer Haugsbakk --- Notes (series): v2: • `strbuf_commented_addf` adds a newline, unlike the previous function. We need to remove a newline from the final `strbuf_addstr` with `This reverts commits` and add a newline to each of the other branches (`else if` and `else`). sequencer.c | 9 +++++---- t/t3501-revert-cherry-pick.sh | 12 ++++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/sequencer.c b/sequencer.c index 1b6fd86f70b..d26299cdea2 100644 --- a/sequencer.c +++ b/sequencer.c @@ -2341,8 +2341,8 @@ static int do_pick_commit(struct repository *r, next = parent; next_label = msg.parent_label; if (opts->commit_use_reference) { - strbuf_addstr(&ctx->message, - "# *** SAY WHY WE ARE REVERTING ON THE TITLE LINE ***"); + strbuf_commented_addf(&ctx->message, comment_line_str, + "*** SAY WHY WE ARE REVERTING ON THE TITLE LINE ***"); } else if (skip_prefix(msg.subject, "Revert \"", &orig_subject) && /* * We don't touch pre-existing repeated reverts, because @@ -2352,12 +2352,13 @@ static int do_pick_commit(struct repository *r, !starts_with(orig_subject, "Revert \"")) { strbuf_addstr(&ctx->message, "Reapply \""); strbuf_addstr(&ctx->message, orig_subject); + strbuf_addstr(&ctx->message, "\n"); } else { strbuf_addstr(&ctx->message, "Revert \""); strbuf_addstr(&ctx->message, msg.subject); - strbuf_addstr(&ctx->message, "\""); + strbuf_addstr(&ctx->message, "\"\n"); } - strbuf_addstr(&ctx->message, "\n\nThis reverts commit "); + strbuf_addstr(&ctx->message, "\nThis reverts commit "); refer_to_commit(opts, &ctx->message, commit); if (commit->parents && commit->parents->next) { diff --git a/t/t3501-revert-cherry-pick.sh b/t/t3501-revert-cherry-pick.sh index 411027fb58c..26d3cabb608 100755 --- a/t/t3501-revert-cherry-pick.sh +++ b/t/t3501-revert-cherry-pick.sh @@ -228,6 +228,18 @@ test_expect_success 'identification of reverted commit (--reference)' ' test_cmp expect actual ' +test_expect_success 'git revert --reference with core.commentChar' ' + test_when_finished "git reset --hard to-ident" && + git checkout --detach to-ident && + git -c core.commentChar=% revert \ + --edit --reference HEAD && + git log -1 --format=%B HEAD >actual && + printf "This reverts commit $(git show -s \ + --pretty=reference HEAD^).\n\n" \ + >expect && + test_cmp expect actual +' + test_expect_success 'identification of reverted commit (revert.reference)' ' git checkout --detach to-ident && git -c revert.reference=true revert --no-edit HEAD && From patchwork Tue Nov 12 10:20:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Kristoffer Haugsbakk X-Patchwork-Id: 13872059 Received: from fout-a6-smtp.messagingengine.com (fout-a6-smtp.messagingengine.com [103.168.172.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8DC7D21314C for ; Tue, 12 Nov 2024 10:20:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.149 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731406858; cv=none; b=aJWipaQxq/U05w3gYdPNln62l1H404Vh4fwH2z3GVIMtevqohZFuS7fI1Xd1O1kCtCQVx8hQPn0EnPlqolf7bn+qmZ0JYgVXv+GUBSnLTcO24sZZq/kmszmfapWrW4ZTFO1FWW3GRcuH28QySSGVWEwX3/Bk0ZzrZ3L3BWRiUJM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731406858; c=relaxed/simple; bh=qHLiP+knBNPaN1drWVdEi1W/qbY5+cyofShyqNX5KSs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=bAYYx0iA9kHIVvooxIuo388QSkt9G7Tlix8fPaPKKzPbnC+ku7zBCvRYhIIWk6RnyNz89XH0/WXJkS80qrXwIAbZoJd4doI7npVYLJmeIYituG5VyKvyXYKv3gRx6uMnCKhUk0g7JmIirupD4BlIBVRCrqa1nXTTEsyiBgOY8JY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fastmail.com; spf=pass smtp.mailfrom=fastmail.com; dkim=pass (2048-bit key) header.d=fastmail.com header.i=@fastmail.com header.b=Y1mYwNp1; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=B6mImMdX; arc=none smtp.client-ip=103.168.172.149 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fastmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fastmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fastmail.com header.i=@fastmail.com header.b="Y1mYwNp1"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="B6mImMdX" Received: from phl-compute-07.internal (phl-compute-07.phl.internal [10.202.2.47]) by mailfout.phl.internal (Postfix) with ESMTP id A5F66138070D; Tue, 12 Nov 2024 05:20:55 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-07.internal (MEProxy); Tue, 12 Nov 2024 05:20:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1731406855; x=1731493255; bh=O6oossJOwLP6T9KJH69WX5f5c56aBT8NyjsrbZ4FYko=; b= Y1mYwNp1ath/w7HR+ATrONERyPu8uZdPrJ91zNZFuMe67Y4h9xAS7MKjNAPRFdCY Jxs4kuCdXsbi8cklZQU31A7gx9iBA6N/DLXytIDkzR29HFkSKTMb9bstDEAnMeaA Mjeb5NpbBUcRGugrSMXnRfujdMN60ai1ouzLJygE7FAhicLp3YaEYEiEfJmx/hT1 mdPZnV6LvfWQD5Pp+gy96r7a/rITPI53yTVNYOwwW8ZvGu7aRTBtpRxhc1PY5Wyg Vx8YT3moIyKyQQX6Jb4lbr9Sm/PtgtuOF31L1lpBy+RahQydtxw+tKsVqMXtFdaj cFih3TRJBBYDiaNJ0vOiOg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1731406855; x= 1731493255; bh=O6oossJOwLP6T9KJH69WX5f5c56aBT8NyjsrbZ4FYko=; b=B 6mImMdXdmCK7DkCc0oRLWOlAqXoBJY0+85zKDAyxiMHB51BzERLYw3urAb6nI86p y22GIgTkgNQU3FcA/8O4NGIthycLMsJzkV3sr5Z5X16xACTzzFRsOBrmR0l1Ks0Y DxPkywqApyegiwUHqjm17dA8SmjRpct03QO2zWlpN87hkQgXkkR9+g8XSed9OHSp ehVKid7zm7cUpGBEvVI7MK/nJ3Gw73x0FbOYebVyA6VV3ZQiUF8BL1tx/wQvcqol Aohi9E/g+OEsPK+dZBHPn/ZTlyp7dX3lzH7PhkV0XOSOAzSM04SX4Zf+IqbgqK9c sCeG7bWtAbecJP2AIc8Jw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudeggdduudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdpuffr tefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnth hsucdlqddutddtmdenucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeen ucfhrhhomhepkhhrihhsthhofhhfvghrhhgruhhgshgsrghkkhesfhgrshhtmhgrihhlrd gtohhmnecuggftrfgrthhtvghrnhepudelgfeuieeuteekleeifeegudefheetkefhjeff kedvueehtdevhfekieekhffgnecuffhomhgrihhnpehkvghrnhgvlhdrohhrghenucevlh hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehkrhhishhtohhf fhgvrhhhrghughhssggrkhhksehfrghsthhmrghilhdrtghomhdpnhgspghrtghpthhtoh epiedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepghhithesvhhgvghrrdhkvghr nhgvlhdrohhrghdprhgtphhtthhopegtohguvgeskhhhrghughhssggrkhhkrdhnrghmvg dprhgtphhtthhopehsthholhgvvgesghhmrghilhdrtghomhdprhgtphhtthhopehphhhi lhhlihhprdifohhougduvdefsehgmhgrihhlrdgtohhmpdhrtghpthhtohepmhgvsehtth grhihlohhrrhdrtghomhdprhgtphhtthhopehphhhilhhlihhprdifohhougesughunhgv lhhmrdhorhhgrdhukh X-ME-Proxy: Feedback-ID: i8b11424c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 12 Nov 2024 05:20:53 -0500 (EST) From: kristofferhaugsbakk@fastmail.com To: git@vger.kernel.org Cc: Kristoffer Haugsbakk , stolee@gmail.com, phillip.wood123@gmail.com, me@ttaylorr.com, Phillip Wood Subject: [PATCH v2 3/3] sequencer: comment commit messages properly Date: Tue, 12 Nov 2024 11:20:13 +0100 Message-ID: <86b4b485e0b3ef023a5d559f437eae22f2fd458f.1731406513.git.code@khaugsbakk.name> X-Mailer: git-send-email 2.47.0.317.g7d2562b9734 In-Reply-To: References: <5267b9a9c8cc5cc66979117dc4c1e4d7329e2a03.1729704370.git.code@khaugsbakk.name> Precedence: bulk X-Mailing-List: git@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Kristoffer Haugsbakk Co-authored-by: Phillip Wood Signed-off-by: Kristoffer Haugsbakk --- Notes (series): v2 • Phillip contributed the test and the `strbuf_setlen` changes Notes (meta-trailers): Co-authored-by: Phillip Wood Link: https://lore.kernel.org/git/cfa466b8-a87d-4b5d-b330-6c660897de48@gmail.com/#t sequencer.c | 12 ++++++++---- t/t3437-rebase-fixup-options.sh | 15 +++++++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/sequencer.c b/sequencer.c index d26299cdea2..42a6f257cbb 100644 --- a/sequencer.c +++ b/sequencer.c @@ -1941,10 +1941,10 @@ static int seen_squash(struct replay_ctx *ctx) static void update_comment_bufs(struct strbuf *buf1, struct strbuf *buf2, int n) { - strbuf_setlen(buf1, 2); + strbuf_setlen(buf1, strlen(comment_line_str) + 1); strbuf_addf(buf1, _(nth_commit_msg_fmt), n); strbuf_addch(buf1, '\n'); - strbuf_setlen(buf2, 2); + strbuf_setlen(buf2, strlen(comment_line_str) + 1); strbuf_addf(buf2, _(skip_nth_commit_msg_fmt), n); strbuf_addch(buf2, '\n'); } @@ -1963,8 +1963,12 @@ static void update_squash_message_for_fixup(struct strbuf *msg) size_t orig_msg_len; int i = 1; - strbuf_addf(&buf1, "# %s\n", _(first_commit_msg_str)); - strbuf_addf(&buf2, "# %s\n", _(skip_first_commit_msg_str)); + strbuf_add_commented_lines(&buf1, _(first_commit_msg_str), + strlen(_(first_commit_msg_str)), + comment_line_str); + strbuf_add_commented_lines(&buf2, _(skip_first_commit_msg_str), + strlen(_(skip_first_commit_msg_str)), + comment_line_str); s = start = orig_msg = strbuf_detach(msg, &orig_msg_len); while (s) { const char *next; diff --git a/t/t3437-rebase-fixup-options.sh b/t/t3437-rebase-fixup-options.sh index 7929e2e2e3a..a4b90e881e3 100755 --- a/t/t3437-rebase-fixup-options.sh +++ b/t/t3437-rebase-fixup-options.sh @@ -127,6 +127,21 @@ test_expect_success 'fixup -C with conflicts gives correct message' ' test_cmp expected-author actual-author ' +test_expect_success 'conflicting fixup -C after fixup with custom comment string' ' + test_config core.commentString COMMENT && + test_when_finished "test_might_fail git rebase --abort" && + git checkout --detach A3 && + test_must_fail env FAKE_LINES="1 fixup 2 fixup_-C 4" git rebase -i A && + echo resolved >A && + git add A && + FAKE_COMMIT_AMEND=edited git rebase --continue && + test_commit_message HEAD <<-\EOF + A3 + + edited + EOF +' + test_expect_success 'skipping fixup -C after fixup gives correct message' ' test_when_finished "test_might_fail git rebase --abort" && git checkout --detach A3 &&