From 44377db50a0c02bdf8985628004f988ac0ca3692 Mon Sep 17 00:00:00 2001 From: mcasimir Date: Mon, 21 Sep 2020 15:58:52 +0200 Subject: [PATCH] chore: generate authors by first commit --- AUTHORS | 10 ++++---- packages/async-rewriter/AUTHORS | 6 ++--- packages/browser-repl/AUTHORS | 6 ++--- packages/browser-runtime-core/AUTHORS | 6 ++--- packages/browser-runtime-electron/AUTHORS | 4 ++-- packages/build/AUTHORS | 6 ++--- packages/cli-repl/AUTHORS | 8 +++---- packages/compass-shell/AUTHORS | 6 ++--- packages/errors/AUTHORS | 4 ++-- packages/history/AUTHORS | 8 +++---- packages/i18n/AUTHORS | 6 ++--- packages/java-shell/AUTHORS | 6 ++--- packages/service-provider-core/AUTHORS | 6 ++--- packages/service-provider-server/AUTHORS | 6 ++--- packages/shell-api/AUTHORS | 4 ++-- packages/shell-evaluator/AUTHORS | 4 ++-- scripts/generate-authors.js | 29 +++++++---------------- 17 files changed, 57 insertions(+), 68 deletions(-) diff --git a/AUTHORS b/AUTHORS index a1c7a107bf..e4a190068e 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,11 +1,11 @@ Durran Jordan -Maurizio Casimirri Anna Herlihy +Maurizio Casimirri Irina Shestak -Rhys Howell -Anna Henningsen -Massimiliano Marcon Liudmila Kornilova Lucas Hrabovsky -Mark Smith +Massimiliano Marcon +Rhys Howell Maxime +Mark Smith +Anna Henningsen diff --git a/packages/async-rewriter/AUTHORS b/packages/async-rewriter/AUTHORS index 872b4f0ab8..9f5d0f1a69 100644 --- a/packages/async-rewriter/AUTHORS +++ b/packages/async-rewriter/AUTHORS @@ -1,8 +1,8 @@ Anna Herlihy Durran Jordan Maurizio Casimirri -Irina Shestak +Massimiliano Marcon Rhys Howell -Anna Henningsen +Irina Shestak Liudmila Kornilova -Massimiliano Marcon +Anna Henningsen diff --git a/packages/browser-repl/AUTHORS b/packages/browser-repl/AUTHORS index 4b454d7a9c..d09e291715 100644 --- a/packages/browser-repl/AUTHORS +++ b/packages/browser-repl/AUTHORS @@ -1,7 +1,7 @@ -Maurizio Casimirri Durran Jordan +Maurizio Casimirri +Massimiliano Marcon +Rhys Howell Irina Shestak Anna Herlihy -Rhys Howell Anna Henningsen -Massimiliano Marcon diff --git a/packages/browser-runtime-core/AUTHORS b/packages/browser-runtime-core/AUTHORS index 5e2f5ffc6a..89c36afaf0 100644 --- a/packages/browser-runtime-core/AUTHORS +++ b/packages/browser-runtime-core/AUTHORS @@ -1,7 +1,7 @@ -Durran Jordan Maurizio Casimirri -Irina Shestak +Durran Jordan +Massimiliano Marcon Rhys Howell Anna Herlihy +Irina Shestak Anna Henningsen -Massimiliano Marcon diff --git a/packages/browser-runtime-electron/AUTHORS b/packages/browser-runtime-electron/AUTHORS index 16aaba625b..ae44e41bb7 100644 --- a/packages/browser-runtime-electron/AUTHORS +++ b/packages/browser-runtime-electron/AUTHORS @@ -1,7 +1,7 @@ Maurizio Casimirri Durran Jordan -Irina Shestak +Massimiliano Marcon Rhys Howell +Irina Shestak Anna Herlihy Anna Henningsen -Massimiliano Marcon diff --git a/packages/build/AUTHORS b/packages/build/AUTHORS index c4b5dfd98a..a07efacaeb 100644 --- a/packages/build/AUTHORS +++ b/packages/build/AUTHORS @@ -1,6 +1,6 @@ Durran Jordan -Irina Shestak Maurizio Casimirri -Anna Henningsen -Anna Herlihy +Irina Shestak Rhys Howell +Anna Herlihy +Anna Henningsen diff --git a/packages/cli-repl/AUTHORS b/packages/cli-repl/AUTHORS index 6614554ae9..4ae8aba6f2 100644 --- a/packages/cli-repl/AUTHORS +++ b/packages/cli-repl/AUTHORS @@ -1,7 +1,7 @@ -Irina Shestak -Durran Jordan Anna Herlihy +Durran Jordan +Irina Shestak Maurizio Casimirri -Anna Henningsen -Rhys Howell Massimiliano Marcon +Rhys Howell +Anna Henningsen diff --git a/packages/compass-shell/AUTHORS b/packages/compass-shell/AUTHORS index 52a0efbdc5..89c36afaf0 100644 --- a/packages/compass-shell/AUTHORS +++ b/packages/compass-shell/AUTHORS @@ -1,7 +1,7 @@ Maurizio Casimirri -Rhys Howell Durran Jordan +Massimiliano Marcon +Rhys Howell +Anna Herlihy Irina Shestak Anna Henningsen -Anna Herlihy -Massimiliano Marcon diff --git a/packages/errors/AUTHORS b/packages/errors/AUTHORS index c46de1597f..6e439a6128 100644 --- a/packages/errors/AUTHORS +++ b/packages/errors/AUTHORS @@ -1,6 +1,6 @@ Irina Shestak Maurizio Casimirri -Anna Henningsen -Durran Jordan Rhys Howell +Durran Jordan Anna Herlihy +Anna Henningsen diff --git a/packages/history/AUTHORS b/packages/history/AUTHORS index b4d137111b..509413a691 100644 --- a/packages/history/AUTHORS +++ b/packages/history/AUTHORS @@ -1,7 +1,7 @@ Maurizio Casimirri -Irina Shestak -Rhys Howell +Massimiliano Marcon Durran Jordan -Anna Henningsen +Rhys Howell Anna Herlihy -Massimiliano Marcon +Irina Shestak +Anna Henningsen diff --git a/packages/i18n/AUTHORS b/packages/i18n/AUTHORS index 5a467b1350..2c1bff8ad6 100644 --- a/packages/i18n/AUTHORS +++ b/packages/i18n/AUTHORS @@ -1,7 +1,7 @@ -Maurizio Casimirri -Anna Herlihy Durran Jordan +Maurizio Casimirri Irina Shestak +Massimiliano Marcon Rhys Howell +Anna Herlihy Anna Henningsen -Massimiliano Marcon diff --git a/packages/java-shell/AUTHORS b/packages/java-shell/AUTHORS index f46f208dad..2c518d3274 100644 --- a/packages/java-shell/AUTHORS +++ b/packages/java-shell/AUTHORS @@ -1,7 +1,7 @@ Durran Jordan -Irina Shestak Maurizio Casimirri -Anna Herlihy Rhys Howell -Anna Henningsen Liudmila Kornilova +Irina Shestak +Anna Herlihy +Anna Henningsen diff --git a/packages/service-provider-core/AUTHORS b/packages/service-provider-core/AUTHORS index 5a467b1350..5f44c09408 100644 --- a/packages/service-provider-core/AUTHORS +++ b/packages/service-provider-core/AUTHORS @@ -1,7 +1,7 @@ +Durran Jordan Maurizio Casimirri +Massimiliano Marcon +Rhys Howell Anna Herlihy -Durran Jordan Irina Shestak -Rhys Howell Anna Henningsen -Massimiliano Marcon diff --git a/packages/service-provider-server/AUTHORS b/packages/service-provider-server/AUTHORS index d27f2f384c..d159513361 100644 --- a/packages/service-provider-server/AUTHORS +++ b/packages/service-provider-server/AUTHORS @@ -1,7 +1,7 @@ -Maurizio Casimirri Durran Jordan +Maurizio Casimirri Anna Herlihy -Irina Shestak +Massimiliano Marcon Rhys Howell +Irina Shestak Anna Henningsen -Massimiliano Marcon diff --git a/packages/shell-api/AUTHORS b/packages/shell-api/AUTHORS index 74c50c4e00..4ae8aba6f2 100644 --- a/packages/shell-api/AUTHORS +++ b/packages/shell-api/AUTHORS @@ -1,7 +1,7 @@ Anna Herlihy -Maurizio Casimirri Durran Jordan Irina Shestak +Maurizio Casimirri +Massimiliano Marcon Rhys Howell Anna Henningsen -Massimiliano Marcon diff --git a/packages/shell-evaluator/AUTHORS b/packages/shell-evaluator/AUTHORS index 08bd888d4d..2982738caf 100644 --- a/packages/shell-evaluator/AUTHORS +++ b/packages/shell-evaluator/AUTHORS @@ -1,6 +1,6 @@ -Irina Shestak Anna Herlihy Maurizio Casimirri +Irina Shestak Rhys Howell -Anna Henningsen Durran Jordan +Anna Henningsen diff --git a/scripts/generate-authors.js b/scripts/generate-authors.js index c6cc4cafbb..1e5c34b055 100644 --- a/scripts/generate-authors.js +++ b/scripts/generate-authors.js @@ -17,32 +17,21 @@ const packageRootPath = path.resolve(__dirname, '..'); function getAuthorsGitLog(packagePath) { return execSync( - `git log --format='%aN <%aE>' --use-mailmap -- ${packagePath}`, + `git log --reverse --format='%aN <%aE>' --use-mailmap -- ${packagePath}`, { cwd: packageRootPath } ).toString().trim().split('\n'); } -function getAuthorsOrderedByCommitNumber(packagePath) { - const authorsMap = {}; +function getAuthorsOrderedByFirstCommit(packagePath) { + const alreadyAdded = new Set(); + const authors = []; for (const authorName of getAuthorsGitLog(packagePath)) { - authorsMap[authorName] = authorName in authorsMap ? authorsMap[authorName] + 1 : 1; + if (alreadyAdded.has(authorName)) { continue; } + alreadyAdded.add(authorName); + authors.push(authorName); } - const compareAuthors = ([name1, commitCount1], [name2, commitCount2]) => { - if (commitCount1 === commitCount2) { - return (name1 > name2) ? 1: -1; - } - - return commitCount1 > commitCount2 ? -1 : 1; - }; - - const authors = Object.entries(authorsMap) - .sort(compareAuthors) - .map(([name]) => { - return name; - }); - return authors; } @@ -60,11 +49,11 @@ const packages = getAllPackages(); for (const { location } of packages) { const packagePath = path.relative(packageRootPath, location); - const authors = getAuthorsOrderedByCommitNumber(packagePath); + const authors = getAuthorsOrderedByFirstCommit(packagePath); fs.writeFileSync(path.resolve(packagePath, 'AUTHORS'), renderAuthorsFileContent(authors)); } fs.writeFileSync( path.resolve(packageRootPath, 'AUTHORS'), - renderAuthorsFileContent(getAuthorsOrderedByCommitNumber('.')) + renderAuthorsFileContent(getAuthorsOrderedByFirstCommit('.')) );