NAME

Dist::Zilla::Plugin::Git::Contributors - Add contributor names from git to your distribution

VERSION

version 0.037

SYNOPSIS

In your dist.ini:

[Git::Contributors]

DESCRIPTION

This is a Dist::Zilla plugin that extracts all names and email addresses from git commits in your repository and adds them to the distribution metadata under the x_contributors key. It takes a minimalist approach to this -- no data is stuffed into other locations, including stashes -- if other plugins wish to work with this information, they should extract it from the distribution metadata.

RECOMMENDED PERL VERSION

This module uses unicode comparison routines as well as casefolding semantics (when available); Perl 5.016 is recommended.

CONFIGURATION OPTIONS

include_authors

When true, authors (as defined by the preamble section in your dist.ini) are added to the list of contributors. When false, authors are filtered out of the list of contributors. Defaults to false.

include_releaser

Defaults to true; set to false to remove the current user (who is doing the distribution release) from the contributors list. It is applied after include_authors, so you will be removed from the list even if you are (one of the) distribution author(s) and include_authors = 1.

You probably don't want this option -- it was added experimentally to change how contributors are displayed on http://metacpan.org, but it was decided that this should be managed at a different layer than the metadata.

order_by

When order_by = name, contributors are sorted alphabetically (ascending); when order_by = commits, contributors are 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.

remove

Available since version 0.011.

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

CANONICALIZING NAMES AND ADDRESSES

If you or a contributor uses multiple names and/or email addresses to make commits and would like them mapped to a canonical value (e.g. their cpan.org address), you can do this by adding a .mailmap file to your git repository, with entries formatted as described in "MAPPING AUTHORS" in git help shortlog (https://www.kernel.org/pub/software/scm/git/docs/git-shortlog.html).

Duplicate names that share the same email address will be removed automatically (keeping the form associated with the latest commit).

ADDING CONTRIBUTORS TO POD DOCUMENTATION

You can add the contributor names to your module documentation by using Pod::Weaver in conjunction with Pod::Weaver::Section::Contributors.

UNICODE SUPPORT

This module aims to properly handle non-ascii characters in contributor names. However, 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 extra configurations you may need to apply.

SEE ALSO

SUPPORT

Bugs may be submitted through the RT bug tracker (or bug-Dist-Zilla-Plugin-Git-Contributors@rt.cpan.org).

There is also a mailing list available for users of this distribution, at http://dzil.org/#mailing-list.

There is also an irc channel available for users of this distribution, at #distzilla on irc.perl.org.

I am also usually active on irc, as 'ether' at irc.perl.org and irc.libera.chat.

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>

COPYRIGHT AND LICENCE

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.