Skip to content

Add .mailmap to consolidate author identities#3849

Merged
gaborbernat merged 1 commit intotox-dev:mainfrom
yarikoptic:introduce-mailmap
Mar 3, 2026
Merged

Add .mailmap to consolidate author identities#3849
gaborbernat merged 1 commit intotox-dev:mainfrom
yarikoptic:introduce-mailmap

Conversation

@yarikoptic
Copy link
Copy Markdown
Contributor

@yarikoptic yarikoptic commented Mar 3, 2026

Summary

  • Add .mailmap to consolidate 17 duplicate author entries across 12 contributors
  • Reduces unique author count from 138 to 121
  • Improves git shortlog output and contributor statistics

Consolidated identities

Contributor Entries Canonical
Bernát Gábor 5 → 1 <[email protected]>
Sviatoslav Sydorenko 4 → 1 <[email protected]>
Jürgen Gmach 2 → 1 <[email protected]>
Sorin Sbarnea 2 → 1 <[email protected]>
Hugo van Kemenade 2 → 1 <[email protected]>
Stephen Finucane 2 → 1 <[email protected]>
Stefano Rivera 2 → 1 <[email protected]>
Robsdedude 2 → 1 <[email protected]>
Matt Bogosian 2 → 1 <[email protected]>
Eric L 2 → 1 <[email protected]>
seyidaniels 2 → 1 <[email protected]>
James Williams 2 → 1 <[email protected]>
Before / after `git log --format='%aN <%aE>' | sort | uniq -c | sort -rn`
--- before
+++ after
@@ -1,36 +1,33 @@
-    356 Bernát Gábor <[email protected]>
-    279 Bernát Gábor <[email protected]>
+    659 Bernát Gábor <[email protected]>
      96 pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-     44 Jürgen Gmach <[email protected]>
+     46 Jürgen Gmach <[email protected]>
      40 dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      19 rahuldevikar <[email protected]>
-     18 gaborbernat <[email protected]>
+     18 Sorin Sbarnea <[email protected]>
      18 Masen Furer <[email protected]>
-     15 Sorin Sbarnea <[email protected]>
      11 Miro Hrončok <[email protected]>
      10 Miroslav Šedivý <[email protected]>
+      9 Sviatoslav Sydorenko <[email protected]>
       9 Kurt McKee <[email protected]>
       9 Curt J. Sampson <[email protected]>
       8 q0w <[email protected]>
+      7 Stephen Finucane <[email protected]>
       7 Fridayai700 <[email protected]>
-      6 Stephen Finucane <[email protected]>
-      5 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <[email protected]>
-      5 bgabor8 <[email protected]>
       5 Vlastimil Zíma <[email protected]>
+      5 Robsdedude <[email protected]>
       5 Gleb Nikonorov <[email protected]>
       5 Andrey Bienkowski <[email protected]>
-      4 Robsdedude <[email protected]>
+      4 Stefano Rivera <[email protected]>
       4 Michał Górny <[email protected]>
+      4 Hugo van Kemenade <[email protected]>
       4 Faidon Liambotis <[email protected]>
       4 Alexander Clausen <[email protected]>
       3 Teejay <[email protected]>
       3 Stephen Rosen <[email protected]>
-      3 Stefano Rivera <[email protected]>
-      3 Sorin Sbarnea <[email protected]>
       3 James Braza <[email protected]>
       3 Antoine Musso <[email protected]>
       3 Adam Johnson <[email protected]>
-      2 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <[email protected]>
+      2 seyidaniels <[email protected]>
       2 Vytautas Liuolia <[email protected]>
       2 Ville Skyttä <[email protected]>
       2 Tushar Sadhwani <[email protected]>
@@ -38,22 +35,20 @@
       2 Ross Patterson <[email protected]>
       2 Patrick Decat <[email protected]>
       2 Oliver Bestwalter <[email protected]>
+      2 Matt Bogosian <[email protected]>
       2 Martin Imre <[email protected]>
       2 Marius Gedminas <[email protected]>
-      2 Jürgen Gmach <[email protected]>
-      2 Hugo van Kemenade <[email protected]>
-      2 Hugo van Kemenade <[email protected]>
+      2 James Williams <[email protected]>
       2 Grzegorz Bokota <[email protected]>
       2 Ganden Schaffner <[email protected]>
       2 Frank Dana <[email protected]>
+      2 Eric L <[email protected]>
       2 Elisey Zanko <[email protected]>
       2 Christian Clauss <[email protected]>
       2 Anthony Sottile <[email protected]>
       1 zhanpon <[email protected]>
       1 wooshaun53 <[email protected]>
       1 srenfo <[email protected]>
-      1 seyidaniels <[email protected]>
-      1 seyidaniels <[email protected]>
       1 realitycheck <[email protected]>
       1 kdestin <[email protected]>
       1 graingert-coef <[email protected]>
@@ -74,13 +69,8 @@
       1 Tim Burke <[email protected]>
       1 Tibor Takacs <[email protected]>
       1 Takashi Kajinami <[email protected]>
-      1 Sviatoslav Sydorenko <[email protected]>
-      1 Sviatoslav Sydorenko (Святослав Сидоренко) <[email protected]>
-      1 Stephen Finucane <[email protected]>
       1 Stein Magnus Jodal <[email protected]>
-      1 Stefano Rivera <[email protected]>
       1 Santiago Castro <[email protected]>
-      1 Robsdedude <[email protected]>
       1 Reinout van Rees <[email protected]>
       1 PreistlyPython <[email protected]>
       1 Pichot <[email protected]>
@@ -93,8 +83,6 @@
       1 Nathan Tsai <[email protected]>
       1 Michael van Bracht <[email protected]>
       1 Max Droy <[email protected]>
-      1 Matt Bogosian <[email protected]>
-      1 Matt Bogosian <[email protected]>
       1 Marcos Boger <[email protected]>
       1 Marcin Konowalczyk <[email protected]>
       1 Marcel Johannesmann <[email protected]>
@@ -104,8 +92,6 @@
       1 Kemal Zebari <[email protected]>
       1 Judit Novak <[email protected]>
       1 Jim Brännlund <[email protected]>
-      1 James Williams <[email protected]>
-      1 James Williams <[email protected]>
       1 James Falcon <[email protected]>
       1 JJLLWW <[email protected]>
       1 Ionel Cristian Mărieș <[email protected]>
@@ -114,8 +100,6 @@
       1 Florian Bruhin <[email protected]>
       1 Fabian P. Schmidt <[email protected]>
       1 Evgeni Golov <[email protected]>
-      1 Eric L <[email protected]>
-      1 Eric L <[email protected]>
       1 ElBe <[email protected]>
       1 Edgar Ramírez Mondragón <[email protected]>
       1 Dmitrii Sutiagin <[email protected]>
@@ -128,7 +112,6 @@
       1 Chris Lamb <[email protected]>
       1 Carlton Gibson <[email protected]>
       1 Caleb P. Burns <[email protected]>
-      1 Bernat Gabor <[email protected]>
       1 Asger Gitz-Johansen <[email protected]>
       1 Arik Mitschang <[email protected]>
       1 Antoine Dechaume <[email protected]>
Interesting difference for shortlog which "tripped" me to place PR back into draft:

I took PR into draft since saw something which didn't align with my memory of seeing on master

❯ git shortlog -sn | head
   635	Bernát Gábor
    96	pre-commit-ci[bot]
    46	Jürgen Gmach
    40	dependabot[bot]
    19	rahuldevikar
    18	Masen Furer
    18	Sorin Sbarnea
    18	gaborbernat
    11	Miro Hrončok
    10	Miroslav Šedivý

which differs from what was shown in the git log diff

❯ git log --format='%aN <%aE>' | sort | uniq -c | sort -rn | head
    356 Bernát Gábor <[email protected]>
    279 Bernát Gábor <[email protected]>
     96 pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
     44 Jürgen Gmach <[email protected]>
     40 dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
     19 rahuldevikar <[email protected]>
     18 Masen Furer <[email protected]>
     18 gaborbernat <[email protected]>
     15 Sorin Sbarnea <[email protected]>
     11 Miro Hrončok <[email protected]>

since it also included the emails. And without emails -- match fine

❯ git log --format='%aN' | sort | uniq -c | sort -rn | head
    635 Bernát Gábor
     96 pre-commit-ci[bot]
     46 Jürgen Gmach
     40 dependabot[bot]
     19 rahuldevikar
     18 Sorin Sbarnea
     18 Masen Furer
     18 gaborbernat
     11 Miro Hrončok
     10 Miroslav Šedivý

and after introducing .mailmap, git log also starts mapping emails uniformly

❯ git co introduce-mailmap
Switched to branch 'introduce-mailmap'
Your branch is up to date with 'gh-yarikoptic/introduce-mailmap'.
❯ git log --format='%aN <%aE>' | sort | uniq -c | sort -rn | head
    659 Bernát Gábor <[email protected]>
     96 pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
     46 Jürgen Gmach <[email protected]>
     40 dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
     19 rahuldevikar <[email protected]>
     18 Sorin Sbarnea <[email protected]>
     18 Masen Furer <[email protected]>
     11 Miro Hrončok <[email protected]>
     10 Miroslav Šedivý <[email protected]>
      9 Sviatoslav Sydorenko <[email protected]>

🤖 Generated with Claude Code

TODOs

  • rerun CI after github comes to good health again.

Consolidate 17 duplicate author entries across 12 contributors,
reducing unique author count from 138 to 121.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@yarikoptic yarikoptic requested a review from gaborbernat as a code owner March 3, 2026 19:22
@yarikoptic yarikoptic marked this pull request as draft March 3, 2026 19:24
@yarikoptic yarikoptic marked this pull request as ready for review March 3, 2026 19:30
@gaborbernat gaborbernat enabled auto-merge (squash) March 3, 2026 23:17
@gaborbernat gaborbernat merged commit 20ed7c3 into tox-dev:main Mar 3, 2026
48 of 51 checks passed
@hugovk
Copy link
Copy Markdown
Contributor

hugovk commented Mar 4, 2026

@webknjaz Would you prefer to keep the Ukrainian flag and spelling in your display name?

@webknjaz
Copy link
Copy Markdown
Contributor

webknjaz commented Mar 4, 2026

@hugovk I'm good with just the English spelling in the commit messages / metadata / mapping file. I have that mainly for the GH UI but if you're looking to have ASCII-only entries, feel free to update it.

(did I guess your motivation correctly?)

@hugovk
Copy link
Copy Markdown
Contributor

hugovk commented Mar 4, 2026

OK, all good! My motivation is for people to have their names shown as they wish. (I don't think things need to be restricted to ASCII, we have Bernát and Jürgen in there.)

@yarikoptic yarikoptic deleted the introduce-mailmap branch March 4, 2026 21:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants