From: "Ludovic Courtès" <ludo@gnu.org>
To: zimoun <zimon.toutoune@gmail.com>
Cc: GNU Guix maintainers <guix-maintainers@gnu.org>, 38846@debbugs.gnu.org
Subject: [bug#38846] [PATCH 0/4] Move 'HACKING' to the manual, and a proposal for commit access
Date: Thu, 09 Jan 2020 23:05:35 +0100 [thread overview]
Message-ID: <87h814s2ts.fsf@gnu.org> (raw)
In-Reply-To: <CAJ3okZ2M1iMJJUuXJxgdHmvm4zTEMq_KQgwAM_bdWGr+86ha8A@mail.gmail.com> (zimoun's message of "Mon, 6 Jan 2020 22:44:38 +0100")
[-- Attachment #1: Type: text/plain, Size: 1552 bytes --]
Hello!
zimoun <zimon.toutoune@gmail.com> skribis:
>>From the v1.0.1 to now, the repartition of committers which are not the authors:
>
> 361
> 78
> 65
> 61
> 59
> 54
> 52
> 47
> 44
> 43
> 37
> 21 (x2)
> 11
> 9
> 8
> 7 (x2)
> 6
> 5 (x3)
> 4 (x2)
> 3
> 2 (x3)
> 1 (x3)
>
> which should be compared to the number of commits per author also
> committer (first 10):
>
> 1463
> 1162
> 886
> 670
> 618
> 335
> 204
> 166
> 161
> 150
I had overlooked that; interesting, though I’m not sure what conclusion(s)
to draw. Perhaps we should look at how these numbers evolve over time?
Related to that, attached is a script I wrote a while back to view the
number of reviews per committer (ah ha!), like so:
--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> (define r (reviewers repo))
scheme@(guile-user)> ,pp (sort (map car r) <)
$3 = (0
;; long tail omitted…
1
1
1
1
2
2
2
2
2
4
5
5
6
9
9
9
10
11
13
13
17
18
19
30
37
37
38
40
40
45
48
51
59
63
72
84
85
88
99
181
186
264
287
506
526
1620)
--8<---------------cut here---------------end--------------->8---
This is for all-time commits, so not all that representative, but could
be used as a starting point for the statistician in you. :-)
Ludo’.
[-- Attachment #2: the code --]
[-- Type: text/plain, Size: 2321 bytes --]
(use-modules (git)
(git repository)
(git reference)
(git oid)
(git tag)
(git commit)
(git structs) ;signature-email, etc.
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match)
(ice-9 vlist))
(define commit-author*
(compose signature-name commit-author))
(define commit-committer*
(compose signature-name commit-committer))
(define-syntax-rule (false-if-git-error exp)
(catch 'git-error
(lambda () exp)
(const #f)))
(define* (fold-commits proc seed repo
#:key
(start (reference-target
(repository-head repo)))
end)
"Call PROC on each commit of REPO, starting at START (an OID), and until
END if specified."
(let loop ((commit (commit-lookup repo start))
(result seed))
(let ((parent (false-if-git-error (commit-parent commit))))
(if parent
(if (and end (oid=? (commit-id parent) end))
(proc parent result)
(loop parent (proc parent result)))
result))))
(define (reviewers repo)
"Return a list of review count/committer pairs."
(define vhash
(fold-commits (lambda (commit result)
(if (string=? (commit-author* commit)
(commit-committer* commit))
result
(vhash-cons (commit-committer* commit) #t
result)))
vlist-null
repo))
(define committers
(delete-duplicates
(fold-commits (lambda (commit result)
(cons (commit-committer* commit)
result))
'()
repo)))
(map (lambda (committer)
(cons (vhash-fold* (lambda (_ count)
(+ 1 count))
0
committer
vhash)
committer))
committers))
(define (reviewer< r1 r2)
(match r1
((count1 . name1)
(match r2
((count2 . name2)
(< count1 count2))))))
(libgit2-init!)
(define repo
(repository-open "."))
next prev parent reply other threads:[~2020-01-09 22:06 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-01 16:29 [bug#38846] [PATCH 0/4] Move 'HACKING' to the manual, and a proposal for commit access Ludovic Courtès
2020-01-01 16:34 ` [bug#38846] [PATCH 1/4] doc: Add "Tracking Bugs and Patches" section Ludovic Courtès
2020-01-01 16:34 ` [bug#38846] [PATCH 2/4] doc: Move "Commit Access" section from 'HACKING' to the manual Ludovic Courtès
2020-01-01 18:08 ` Ricardo Wurmus
2020-01-01 16:34 ` [bug#38846] [PATCH 3/4] doc: Encourage patch review Ludovic Courtès
2020-01-01 18:09 ` Ricardo Wurmus
2020-01-01 16:34 ` [bug#38846] [PATCH 4/4] DRAFT doc: Add a cooption policy for commit access Ludovic Courtès
2020-01-01 18:15 ` Ricardo Wurmus
2020-01-02 11:20 ` Ludovic Courtès
2020-01-07 22:36 ` Maxim Cournoyer
2020-01-01 18:51 ` zimoun
2020-01-02 11:53 ` Ludovic Courtès
2020-01-02 18:35 ` zimoun
2020-01-06 9:30 ` Ludovic Courtès
2020-01-02 4:09 ` Brett Gilio
2020-01-02 11:15 ` Ricardo Wurmus
2020-01-02 11:59 ` Ludovic Courtès
2020-01-06 23:29 ` Tobias Geerinckx-Rice via Guix-patches via
2020-01-06 23:34 ` Tobias Geerinckx-Rice via Guix-patches via
2020-01-07 0:19 ` Brett Gilio
2020-01-07 11:27 ` zimoun
2020-01-09 22:39 ` bug#38846: " Ludovic Courtès
2020-01-01 18:07 ` [bug#38846] [PATCH 1/4] doc: Add "Tracking Bugs and Patches" section Ricardo Wurmus
2020-01-01 18:18 ` zimoun
2020-01-02 11:51 ` Ludovic Courtès
2020-01-02 18:40 ` zimoun
2020-01-01 18:37 ` [bug#38846] [PATCH 0/4] Move 'HACKING' to the manual, and a proposal for commit access Ricardo Wurmus
2020-01-06 13:13 ` Ludovic Courtès
2020-01-07 22:50 ` Marius Bakke
2020-01-06 21:44 ` zimoun
2020-01-07 11:17 ` Ludovic Courtès
2020-01-09 22:05 ` Ludovic Courtès [this message]
2020-01-10 15:49 ` zimoun
2020-01-13 10:01 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87h814s2ts.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=38846@debbugs.gnu.org \
--cc=guix-maintainers@gnu.org \
--cc=zimon.toutoune@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).