Subject: [PATCH v4 0/3] sequencer: comment out properly in todo list

From: [email-masked]
Date: Mon, 25 Nov 2024 21:13:10 +0100

From: Kristoffer Haugsbakk <[email-masked]>

Fix three places where the comment char/string is hardcoded (#) in the
todo list.

§ Changes in v4

• Use `test_grep`
• Fix commit message (`)
• Don’t need to cat(1)
  • Also use `-n4` in case `-4` is not widely supported

§ CC

• Stolee for the first patch
• Reviewers on the previous rounds

Kristoffer Haugsbakk (3):
  sequencer: comment checked-out branch properly
  sequencer: comment `--reference` subject line properly
  sequencer: comment commit messages properly

 sequencer.c                     | 26 ++++++++++++++++----------
 t/t3400-rebase.sh               | 19 +++++++++++++++++++
 t/t3437-rebase-fixup-options.sh | 15 +++++++++++++++
 t/t3501-revert-cherry-pick.sh   | 14 ++++++++++++++
 4 files changed, 64 insertions(+), 10 deletions(-)

Interdiff against v3:
diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh
index 711bd230695..7c47af6dcd9 100755
--- a/t/t3400-rebase.sh
+++ b/t/t3400-rebase.sh
@@ -471,8 +471,8 @@ test_expect_success 'git rebase --update-ref with core.commentChar and branch on
 	git checkout topic2 &&
 	GIT_SEQUENCE_EDITOR="cat >actual" git -c core.commentChar=% \
 		 rebase -i --update-refs base &&
-	grep "% Ref refs/heads/wt-topic checked out at" actual &&
-	grep "% Ref refs/heads/topic2 checked out at" actual
+	test_grep "% Ref refs/heads/wt-topic checked out at" actual &&
+	test_grep "% Ref refs/heads/topic2 checked out at" actual
 '
 
 test_done
diff --git a/t/t3501-revert-cherry-pick.sh b/t/t3501-revert-cherry-pick.sh
index 43476236131..b84fdfe8a32 100755
--- a/t/t3501-revert-cherry-pick.sh
+++ b/t/t3501-revert-cherry-pick.sh
@@ -231,7 +231,7 @@ test_expect_success 'identification of reverted commit (--reference)' '
 test_expect_success 'git revert --reference with core.commentChar' '
 	test_when_finished "git reset --hard to-ident" &&
 	git checkout --detach to-ident &&
-	GIT_EDITOR="cat | head -4 >actual" git -c core.commentChar=% revert \
+	GIT_EDITOR="head -n4 >actual" git -c core.commentChar=% revert \
 		--edit --reference HEAD &&
 	cat <<-EOF >expect &&
 	% *** SAY WHY WE ARE REVERTING ON THE TITLE LINE ***
Range-diff against v3:
1:  a46767263f6 ! 1:  a8813b5f14c sequencer: comment checked-out branch properly
    @@ Commit message

      ## Notes (series) ##
    +    v4
    +    • Use `test_grep`
    +
    +      Link: https://lore.kernel.org/git/[email-masked]/T/#me80519debcd013aa8c8a5e5003c58cff7281fac9
         v3:
         • Review feedback: check more in the test by inspecting the
           sequence editor
    @@ t/t3400-rebase.sh: test_expect_success 'rebase when inside worktree subdirectory
     +	git checkout topic2 &&
     +	GIT_SEQUENCE_EDITOR="cat >actual" git -c core.commentChar=% \
     +		 rebase -i --update-refs base &&
    -+	grep "% Ref refs/heads/wt-topic checked out at" actual &&
    -+	grep "% Ref refs/heads/topic2 checked out at" actual
    ++	test_grep "% Ref refs/heads/wt-topic checked out at" actual &&
    ++	test_grep "% Ref refs/heads/topic2 checked out at" actual
     +'
     +
      test_done
2:  7a452142666 ! 2:  4d10ad4ab55 sequencer: comment `--reference` subject line properly
    @@ Commit message

      ## Notes (series) ##
    +    v4:
    +    • Don’t need to cat(1)
    +      • Also use `-n4` in case `-4` is not widely supported
    +
    +      Link: https://lore.kernel.org/git/[email-masked]/
         v3:
         • Review feedback: check more in the test by inspecting the
           proposed commit message.
    @@ t/t3501-revert-cherry-pick.sh: test_expect_success 'identification of reverted c
     +test_expect_success 'git revert --reference with core.commentChar' '
     +	test_when_finished "git reset --hard to-ident" &&
     +	git checkout --detach to-ident &&
    -+	GIT_EDITOR="cat | head -4 >actual" git -c core.commentChar=% revert \
    ++	GIT_EDITOR="head -n4 >actual" git -c core.commentChar=% revert \
     +		--edit --reference HEAD &&
     +	cat <<-EOF >expect &&
     +	% *** SAY WHY WE ARE REVERTING ON THE TITLE LINE ***
3:  4c342bc0422 ! 3:  42b9fbd12d6 sequencer: comment commit messages properly
    @@ Commit message
             fixup hash2 <msg>
             fixup -c hash3 <msg>
     
    -    This says that hash2` and hash3 should be squashed into hash1 and
    +    This says that hash2 and hash3 should be squashed into hash1 and
         that hash3’s commit message should be used for the resulting commit.
         So the user is presented with an editor where the two first commit
         messages are commented out and the third is not.  However this does
    @@ Commit message

      ## Notes (series) ##
    +    v4:
    +    • Fix commit message (`)
    +
    +      Link: https://lore.kernel.org/git/[email-masked]/T/#me80519debcd013aa8c8a5e5003c58cff7281fac9
         v3:
         • Message: Explain to the best of my knowledge what is going on here in
           the message body

base-commit: b31fb630c0fc6869a33ed717163e8a1210460d94
-- 
2.47.0