From: Ævar Arnfjörð Bjarmason Date: Wed, 23 Mar 2022 12:30:50 GMT Subject: Re: How to determine the number of unique recent committers on a branch? Message-ID: <220323.86o81wonlf.gmgdl@evledraar.gmail.com> In-Reply-To: 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 []@{} 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 > 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 []@{} 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..