Re: [PATCH] revision: fix --left/right-only use with unrelated histories
- From
- phillip.wood123@gmail.com <phillip.wood123@gmail.com>
- Date
- Apr 2, 2025, 13:12 UTC
- Message-ID
- <63e79534-db09-444f-8e82-8e01d914182d@gmail.com>
- In-Reply-To
- <D8TJMUMOGLBC.3FR8DHTTUN4M9@lfurio.us>
Hi Matt
On 30/03/2025 11:54, Matt Hunter wrote:
Show 24 quoted lines
> On Sun Mar 30, 2025 at 6:11 AM EDT, Phillip Wood wrote: >> Thank you for adding a test. We have a helper function test_line_count >> which provides a helpful debugging message if the comparison fails. >> Using that and avoiding process substitutions we'd write >> >> sort head >sorted_head && >> sort cmp >sorted_cmp && >> comm -12 sorted_head sorted_cmp >actual && >> test_line_count = 0 actual > Thanks for that helper tip. I was just about to send a v2 when your > message came in, so I'm getting that incorporated now. > > By the way, I had originally wanted to write test assertions that > checked the actual number of commit ids returned from each of the two > calls to rev-list - something like: > > git rev-list --X-only HEAD...cmp >file && > test_line_count = N file > > But since I'm not very familiar with this test harness yet, I couldn't > actually figure the correct value for N. It's not 1 (the commit made in > my test body), and it's not 2 (that commit, plus the one from the setup > case at the top of the file). Any appropriate higher value wasn't > obvious.
Each test in a given file runs in the same repository (this is a performance optimization) so the number of commits will depend on what the previous tests have done. Usually there is a setup test at the start of the file which creates some commits with tags. Individual tests can then use those tags to establish a known state.
Best Wishes
Phillip
> So I switched to what you saw in my v1. Maybe this "no commit ids in > common" test is actually the stronger assertion?