Dist::Zilla::Plugin::ContributorsFromGit - Populate your 'CONTRIBUTORS' POD from the list of git authors
This document describes version 0.019 of Dist::Zilla::Plugin::ContributorsFromGit - released August 14, 2017 as part of Dist-Zilla-Plugin-ContributorsFromGit.
; in your dist.ini
[ContributorsFromGit]
; in your weaver.ini
[Contributors]
This plugin makes it easy to acknowledge the contributions of others by populating a %PodWeaver stash with the unique list of all git commit authors reachable from the current HEAD.
On collecting the unique list of reachable commit authors from git, we search
and remove any git authors from the list of authors Dist::Zilla knows
about. We then look for a stash named %PodWeaver
; if we don't find one
then we create an instance of Dist::Zilla::Stash::PodWeaver and register it
with our zilla instance. Then we add the list of contributors (the filtered
git authors list) to the stash in such a way that
Pod::Weaver::Section::Contributors can find them.
Note that you do not need to have the %PodWeaver
stash created; it will be
added if it is not found. However, your Pod::Weaver config (aka
weaver.ini
) must include the
Contributors section plugin.
This plugin runs during the BeforeBuild phase.
The list of contributors is also added to distribution metadata under the custom
x_contributors
key. (e.g. in META.yml
, META.json
, etc)
If you have duplicate contributors because of differences in committer name
or email you can use a .mailmap
file to canonicalize contributor names
and emails. See git help shortlog for details.
Note that using the Pod::Weaver::Section::Contributors section is in no way mandated or necessitated by this package; if you wish to use it you must include the Contributors section in your Pod::Weaver configuration in the traditional fashion.
MetaCPAN will attempt to match a contributor address
back to a PAUSE account. However, it (currently) can only do that if the
contributor's email address is their PAUSEID@cpan.org
address. There are
two mechanisms for helping to resolve this, if your commits are not using this
address.
Both of these approaches have pros and cons that have been discussed at
levels nearing the heat brought to any discussion of religion, homosexuality,
or Chief O'Brien's actual rank at any ST:TNG convention. However, they both
have the advantage of *working*, and through different modes of action. You
are free to use one, both or neither. These are only important if you're not
committing with your @cpan.org
email address and want the MetaCPAN to
link to your author page from the page of the package you contributed to.
See git help shortlog
for help on how to use this. A .mailmap
file must
be maintained in each repository using it.
This package contains a YAML file containing a mapping of @cpan.org
author
addresses; this list is consulted while building the contributors list, and
can be used to replace a non-cpan.org address with one.
To add to or modify this mapping, fork, add your alternate email addresses to
share/author-emails.yaml
, and submit a pull-request for inclusion. It'll
be merged and released; as various authors update their set of installed
modules and cut new releases, the mapping will appear.
Please see those modules/websites for more information related to this module.
- Pod::Weaver::Section::Contributors
- Dist::Zilla::Stash::PodWeaver
- http://www.dagolden.com/index.php/1921/how-im-using-distzilla-to-give-credit-to-contributors/
Please report any bugs or feature requests on the bugtracker website https://github.com/rsrchboy/Dist-Zilla-Plugin-ContributorsFromGit/issues
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
Chris Weyl cweyl@alumni.drew.edu
- Brendan Byrd Perl@ResonatorSoft.org
- David Golden dagolden@cpan.org
- Graham Knop haarg@haarg.org
- Mike Greb mikegrb@cpan.org
- Randy Stauner randy@magnificent-tears.com
- Tatsuhiko Miyagawa miyagawa@bulknews.net
- Yanick Champoux yanick@babyl.dyndns.org
This software is Copyright (c) 2017, 2015, 2014, 2013, 2012 by Chris Weyl.
This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999