Re: [RFC PATCH 3/9] rebase -i: comment out squash!/fixup! subjects from squash message
flat view
From: Phillip Wood <hidden>
Date: 2021-01-18 18:36:28
Hi Charvi On 17/01/2021 03:39, Charvi Mendiratta wrote:
Hi Phillip and Taylor,quoted
[...]quoted
quoted
quoted
@@ -224,7 +223,7 @@ test_expect_success 'auto squash that matches longer sha1' ' git cat-file blob HEAD^:file1 >actual && test_cmp expect actual && git cat-file commit HEAD^ >commit && - grep squash commit >actual && + grep "extra para" commit >actual && test_line_count = 1 actual 'Worth checking that "squash" doesn't appear in an uncommented part of actual? Or better yet, checking that "# squash ..." _does_ appear. I.e., that we would leave this as: - grep squash commit >actual && + grep "^# squash" commit >actual && + grep "extra para" commit >actual &&This test is checking the message that gets committed, not the contents of the file passed to the editor. I like the idea of checking that the squash! line is indeed commented out, but we'd need to test it with grep -v squashIt seems to me that you suggest to use 'grep -v squash' instead of grep "^#squash".
That's correct
So I added to check the test as here:
- grep squash commit >actual &&
+ grep -v "squash" commit >actual &&There is no need to redirect the output of this one - we don't expect any output and the test will fail if there is so we want to see what the output is.
+ grep "extra para" commit >actual &"ed
Looking at the changes to the tests in this commit it highlights the fact that I don't think we ever check exactly what the user sees in their editor. We do add such a test for the new `fixup -C` functionality in a later patch but perhaps we should improve the test coverage of the squash message presented to the user before then.I agree and in this test it's now just checking if the commit message body of "squash!" i.e line "extra para", is added in commit message or not. So, I am doubtful if the above is the right way to test whether squash! line is commented out or not , as "grep "extra para" commit >actual &&" will rewrite the 'actual' file.
The test above gives us reassurance that "squash! ..." does not make it into the commit message which is important. We'd want a separate test to check the message that is presented to the user however looking at patch 7 the test 'sequence of fixup, fixup -C & squash --signoff works' checks that a "squash! ..." subject line gets commented out so I wouldn't worry about an additional test here Best Wishes Phillip
Thanks and Regards, Charvi