On Wed, Mar 23 2022, Sebastian Schuberth wrote: > Hi, > > I'm trying to determine the number of unique committers who have > recently committed to a branch. "Recently" should be configurable, but > for my example I'll use a period of 3 months. > > At first, I thought the [<refname>]@{<date>} syntax [1] in conjunction > with git "shortlog -s" could be helpful here, like > > $ git shortlog -s main@{3.months.ago} | wc -l > > But then I realized that just like with the --since option, the <date> > counts relative to the current date, not relative to the date of the > last commit on the given branch. To me, that's rather counterintuitive > for the [<refname>]@{<date>} syntax. > > So, what would be a good way to achieve what I want with only > Git-means (and maybe `wc`), but without any awk / Perl scripting > magic? > > Thanks in advance! > > [1]: http://git-scm.com/docs/gitrevisions#Documentation/gitrevisions.txt-emltrefnamegtltdategtemegemmasteryesterdayememHEAD5minutesagoem The ref@{} syntax will give you ref*log* times, which is probably not what you want. I think --since to "rev-list" combined with e.g. "shortlog" is what you want here, e.g. on git.git: $ git -P shortlog --since=2.weeks.ago -sn origin/master 36 Junio C Hamano 12 Derrick Stolee 2 Shubham Mishra 1 Michael J Gruber 1 Ævar Arnfjörð Bjarmason Maybe there's a way to get it to spew that out without the numeric summary, but I can't recall one offhand. I.e. you'd still need awk/cut, but at least not uniq anymore..