On Mon, Mar 06, 2023 at 10:26:26AM -0800, Junio C Hamano wrote: > "Derrick Stolee via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > > > These numbers can be computed by 'git rev-list --count B..C' and 'git > > rev-list --count C..B', but there are common needs that benefit from having > > the checks being done in the same process: > > This makes readers wonder if "git rev-list --count B...C" should be > the end-user facing UI for this new feature, perhaps? > > Of course if you are checking how C0, C1, C2,... relate to a single > B, the existing rev-list syntax would not work, and makes a totally > new subcommand a possibilty. Yeah. You could imagine that `rev-list --count` might do something fancy like coalescing git rev-list --count B...C1 B...C2 B...C3 into a single walk. But I am not sure that just because `rev-list --count` provides similar functionality that we should fold in the proposed `ahead-behind` interface into that flag. On the other hand, I could see a compelling argument for a slightly different syntax (maybe `--count-ahead-behind` or `--count=ahead-behind`) that would fold this functionality into `rev-list`. And that is the sort of thing that we would want to settle on sooner rather than later, since it's fairly baked in once we decide one way or another and then merge this up. My personal feeling is that we ought to avoid (further) overloading `rev-list` absent of a compelling reason to do so. But I am definitely open to other thoughts here. Thanks, Taylor