Dist::...butors(3pm)

πŸ“¦
version 0.039 Β· 2 versions
, in fedora 43, fedora 44

πŸ’– NAME πŸ’–

Okay bestie, listen up: Dist::Zilla::Plugin::Git::Contributors β€” it's the plugin that scoops up contributor names out of git and drops them into your distribution. (If you're staring at this in a terminal, the header abbreviates it as Dist::...butors(3pm), which is honestly giving cryptic πŸ’€ but whatever, it's the same page.)


🌟 VERSION 🌟

version 0.039 ✨


πŸ“œ SYNOPSIS πŸ“œ

In your dist.ini, just:

[Git::Contributors]

and that's it, that's the whole vibe. 🫢


🌸 DESCRIPTION 🌸

So this is a Dist::Zilla plugin, and what it does is literally extract every name and email address from the git commits in your repo, then tuck them into your distribution metadata under the x_contributors key. πŸŽ€

And the way it does it? minimalist. Like, no data gets stuffed into other locations β€” including stashes β€” at all. So if some other plugin wants to play with this info, it should go pull it out of the distribution metadata itself. No sneaky side channels, periodt. πŸ’…


This module uses unicode comparison routines, plus casefolding semantics when they're available. So Perl 5.016 is what's recommended. Upgrade if you're living in the past, babe. πŸ’œ


βš™οΈ CONFIGURATION OPTIONS βš™οΈ

include_authors

When it's true, authors (and "authors" here means whoever the preamble section in your dist.ini says they are) get added to the contributors list. When it's false, authors get filtered out of the contributors list. Defaults to false.

include_releaser

Defaults to true β€” flip it to false and the current user (the one doing the actual distribution release) gets removed from the contributors list. Heads up though: it's applied after include_authors, so you're getting removed from that list even if you're one of the distribution authors and you set include_authors = 1. 😭

Real talk: you probably don't want this option. It was added experimentally to change how contributors are displayed on <http://metacpan.org>, but the decision landed on managing that at a different layer than the metadata. So like... it's there, but it's not the moment. πŸ™ˆ

order_by

When order_by = name, contributors get sorted alphabetically (ascending). When order_by = commits, they get sorted by number of commits made to the repository (descending). The default value is name.

path

Available since version 0.007. πŸ‘‘

Indicates a path, relative to the repository root, to search for commits in. Technically: "Consider only commits that are enough to explain how the files that match the specified paths came to be." Defaults to the repository root. Can be used more than once. You should almost certainly not need this β€” like, at all, fr fr.

remove

Available since version 0.011. ✨

Any contributor entry matching this (unanchored, case-sensitive, unicode semantics) regular expression gets removed from inclusion. Can be used more than once.


πŸ¦‹ CANONICALIZING NAMES AND ADDRESSES πŸ¦‹

If you β€” or one of your contributors β€” has been making commits under multiple names and/or email addresses and you want them all mapped to one canonical value (say, their cpan.org address), you can do that by adding a .mailmap file to your git repository. The entries are formatted as described in "MAPPING AUTHORS" in "git help shortlog" (https://www.kernel.org/pub/software/scm/git/docs/git-shortlog.html).

Also: duplicate names that share the same email address get removed automatically β€” and it keeps the form associated with the latest commit. 🌈


πŸŽ€ ADDING CONTRIBUTORS TO POD DOCUMENTATION πŸŽ€

Wanna put those contributor names in your module documentation? You can, by using Pod::Weaver together with Pod::Weaver::Section::Contributors. Go off. πŸ’–


🌸 UNICODE SUPPORT 🌸

This module aims to properly handle non-ascii characters in contributor names. That said, on Windows you might need to do a bit more: see https://github.com/msysgit/msysgit/wiki/Git-for-Windows-Unicode-Support for supported versions and the extra configurations you may need to apply. 🧚


πŸ‘€ SEE ALSO πŸ‘€

  • How I'm using Dist::Zilla to give credit to contributors β€” http://www.dagolden.com/index.php/1921/how-im-using-distzilla-to-give-credit-to-contributors/
  • Pod::Weaver::Section::Contributors β€” weaves x_contributors data into a pod section
  • Dist::Zilla::Plugin::Meta::Contributors β€” adds an explicit list of names to x_contributors
  • Dist::Zilla::Plugin::ContributorsFromGit β€” more dependencies, problematic tests, passes around a lot of extra data in stashes unnecessarily, not unicode-clean πŸ’€
  • Dist::Zilla::Plugin::ContributorsFromPod β€” takes the list of contributors from pod
  • Module::Install::Contributors
  • Dist::Zilla::Plugin::ContributorsFile β€” adds CONTRIBUTORS file, containing names from x_contributors metadata

🫢 GIVING THANKS 🫢

If you found this module useful, please show your appreciation by adding a +1 in MetaCPAN (https://metacpan.org/dist/Dist-Zilla-Plugin-Git-Contributors) and a star in GitHub (https://github.com/karenetheridge/Dist-Zilla-Plugin-Git-Contributors). It costs you nothing and it means everything, bestie. ⭐


πŸ› οΈ SUPPORT πŸ› οΈ

Bugs may be submitted through the RT bug tracker (https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Git-Contributors) β€” or, if you're feeling email-y, bug-Dist-Zilla-Plugin-Git-Contributors@rt.cpan.org.

There's also a mailing list available for users of this distribution, at http://dzil.org/#mailing-list. πŸ“¬

And there's an irc channel available for users of this distribution too: #distzilla on irc.perl.org (irc://irc.perl.org/#distzilla). πŸ’¬

Karen is also usually active on irc, as 'ether' at irc.perl.org and irc.libera.chat. Say hi!! πŸ‘‹


πŸ‘‘ AUTHOR πŸ‘‘

Karen Etheridge <ether@cpan.org>


πŸ’œ CONTRIBUTORS πŸ’œ

  • Kent Fredric <kentnl@cpan.org>
  • Ioan Rogers <ioan@dirtysoft.ca>
  • Klaus Eichner <klaus03@gmail.com>
  • Matthew Horsfall <wolfsage@gmail.com>
  • Mohammad S Anwar <mohammad.anwar@yahoo.com>
  • Ricardo Signes <rjbs@cpan.org>

This software is copyright (c) 2014 by Karen Etheridge.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. πŸ“


Okay that's the whole page, you're all caught up! πŸ’… This was Dist::...butors(3pm) β€” version 0.039, generated for perl v5.42.0 on 2026-02-27. Mwah, go make some contributions. 😘🌸

πŸ“¦ where this page comes from