{"id":16570127,"url":"https://github.com/koppor/github-contributors-list","last_synced_at":"2025-03-21T11:33:45.009Z","repository":{"id":231487847,"uuid":"780977051","full_name":"koppor/github-contributors-list","owner":"koppor","description":"Outputs all the contributors for given open GitHub project","archived":false,"fork":false,"pushed_at":"2025-03-20T16:20:47.000Z","size":74,"stargazers_count":11,"open_issues_count":7,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-20T17:29:04.492Z","etag":null,"topics":["acknowledgements","all-contributors","contributors","github","github-page","open-source-tooling","opensource","recognition"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/koppor.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-02T14:17:21.000Z","updated_at":"2025-03-20T16:20:52.000Z","dependencies_parsed_at":"2024-04-25T11:49:27.944Z","dependency_job_id":"1ba338d1-38e8-4f80-8543-24bcc26310ff","html_url":"https://github.com/koppor/github-contributors-list","commit_stats":null,"previous_names":["koppor/github-contributors-list"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koppor%2Fgithub-contributors-list","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koppor%2Fgithub-contributors-list/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koppor%2Fgithub-contributors-list/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koppor%2Fgithub-contributors-list/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koppor","download_url":"https://codeload.github.com/koppor/github-contributors-list/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244792384,"owners_count":20511126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acknowledgements","all-contributors","contributors","github","github-page","open-source-tooling","opensource","recognition"],"created_at":"2024-10-11T21:17:24.320Z","updated_at":"2025-03-21T11:33:44.996Z","avatar_url":"https://github.com/koppor.png","language":"Java","readme":"# GitHub Contributors List\n\nBuilds a contributor list based on information available on GitHub.\nIt reads the information of pull requests including the `Co-authored-by:` notes in commit messages.\n\nGitHub's API [does NOT include users listed as \"Co-authored-by:\"](https://github.com/orgs/community/discussions/46421).\nThefore, the commit messages need to parsed \"manually\".\n\nIt is a rewrite of [github-contributors-list](https://github.com/mgechev/github-contributors-list) to [support `Co-authored-by:`](https://github.com/mgechev/github-contributors-list/issues/26).\n\n## Example\n\nSee \u003chttps://blog.jabref.org/2024/04/03/JabRef5-13/#special-thanks\u003e for real-world usage.\n\n## How to use\n\n1. [Install jbang](https://www.jbang.dev/documentation/guide/latest/installation.html#using-jbang).\n   E.g.,\n   - Linux/macOS: `curl -Ls https://sh.jbang.dev | bash -s - app setup` or\n   - Windows (Powershell): `iex \"\u0026 { $(iwr -useb https://ps.jbang.dev) } app setup\"`\n2. Add `oauth=...` to `~/.github` with `...` being your [GitHub personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic). See [GitHub API for Java](https://github-api.kohsuke.org/) for details.\n3. `cd` to the repository you want to analyze.\n4. `jbang gcl@koppor/github-contributors-list`\n\n```terminal\nUsage: jbang gcl@koppor/github-contributors-list [-lhV] [--startrevision=\u003cstartCommitRevStr\u003e]\n           [--endrevision=\u003cendCommitRevStr\u003e] [--repository=\u003cownerRepository\u003e]\n           [--cols=\u003ccols\u003e] [--filter=\u003cignoredUsers\u003e]...\n           [--filter-emails=\u003cignoredEmails\u003e]... [-m=\u003cString=String\u003e]...\n           [\u003crepositoryPath\u003e]\n      [\u003crepositoryPath\u003e]     The path to the git repository to analyse.\n      --cols=\u003ccols\u003e          Number of columns\n      --endrevision=\u003cendCommitRevStr\u003e\n                             The last revision to check (tag or commit id).\n                               Included.\n      --filter=\u003cignoredUsers\u003e\n\n      --filter-emails=\u003cignoredEmails\u003e\n\n  -h, --help                 Show this help message and exit.\n  -l, --[no-]github-lookup   Should calls be made to GitHub's API for user\n                               information\n  -m, --login-mapping=\u003cString=String\u003e\n                             Mapping of GitHub logins to names. Format:\n                               name=login\n      --repository=\u003cownerRepository\u003e\n                             The GitHub repository in the form\n                               owner/repostiory. E.g., JabRef/jabref\n      --startrevision=\u003cstartCommitRevStr\u003e\n                             The first revision to check (tag or commit id).\n                               Excluded.\n  -V, --version              Print version information and exit.\n```\n\nExample:\n\n```terminal\nUsage: jbang gcl@koppor/github-contributors-list --repository JabRef/jabref c:\\git-repositories\\jabref --startrevision=v5.14 --endrevision=v5.15\n```\n\nAt the end, non-found committers are listed.\nThe format is `\u003cused name\u003e \u003cPR link\u003e \u003ccommit link\u003e`.\nExample:\n\n```text\nAnish.Pal https://github.com/JabRef/jabref/pull/10829 https://github.com/JabRef/jabref/pull/10829/commits/d2d84923df2c6c7d59559da8d583ae17dc803c3d\n```\n\nWith that information, one can create a mapping from the committer name to the GitHub username.\nIn this case: `Anish.Pal=pal-anish`\n\nThe tool is implemented as single pass over the commits of the repository.\nIt uses a cache to store the information of contributors.\nThus, repeated runs could update contributor information.\nFor instance, if a user first appears as \"Co-authored-by:\" and later as a pull request author, the username could be determined better.\n\nIn case of issues, try to delete `gcl.mv` to start with a fresh cache.\n\n## FAQ\n\n⚠ In case contributors are not ignored, please delete `gcl.mv` and try again. ⚠\n\n## Implementation details\n\n- `gcl.mv` is an [MVStore](https://www.h2database.com/html/mvstore.html) caching contributor information returned by GitHub's API.\n- Dependencies of `gcl.java` cannot be updated automatically. [dependabot-core#9406](https://github.com/dependabot/dependabot-core/issues/9406).\n- Use `writer.level = TRACE` in tinylog.properties for debugging.\n\n## Alternatives\n\n- Manually curate all contributors using [All Contributors](https://allcontributors.org/)\n- Use [github-contributors-list](https://github.com/mgechev/github-contributors-list) and accept that `Co-authored-by:` is ignored.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoppor%2Fgithub-contributors-list","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoppor%2Fgithub-contributors-list","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoppor%2Fgithub-contributors-list/lists"}