NAME
    Dist::Zilla::PluginBundle::Starter::Git - A minimal Dist::Zilla plugin
    bundle for git workflows

SYNOPSIS
      ; dist.ini
      name    = My-Cool-Distribution
      author  = Example Jones <jones@example.com>
      license = Perl_5
      copyright_holder = Example Jones
      copyright_year   = 2017
      version = 0.001
  
      [@Starter::Git]      ; all that is needed to start
      revision = 6         ; always defaults to revision 3
  
      ; configuring examples
      installer = ModuleBuildTiny
      -remove = Pod2Readme ; to use [Readme::Brief] instead, for example
      ExecDir.dir = script ; change the directory used by [ExecDir]
      managed_versions = 1 ; uses the main module version, and bumps module versions after release
      regenerate = LICENSE ; copy LICENSE to repository after release or dzil regenerate

DESCRIPTION
    The "[@Starter::Git]" plugin bundle for Dist::Zilla is a subclass of the
    [@Starter] plugin bundle designed to support a Git-based workflow.

    In addition to the standard "[@Starter]" behavior, this bundle restricts
    the gathered files to those committed to the git repository, allowing
    .gitignore to also ignore files when assembling the distribution; and
    commits, tags, and pushes after a successful release.

    See the Dist::Zilla::Starter guide and the base [@Starter] documentation
    for more information, as this documentation only details the specifics
    of this subclass.

    For one-line initialization of a new "[@Starter::Git]"-based
    distribution, try Dist::Zilla::MintingProfile::Starter::Git.

OPTIONS
    "[@Starter::Git]" inherits the options from [@Starter], and can
    similarly be further configured by the composed roles, as in
    "CONFIGURING" in Dist::Zilla::PluginBundle::Starter.

  revision
      [@Starter::Git]
      revision = 6

    As in "revision" in Dist::Zilla::PluginBundle::Starter, but defaults to
    revision 3. "[@Starter::Git]" requires at least revision 3.

  installer
    As in "installer" in Dist::Zilla::PluginBundle::Starter.

  managed_versions
    As in "managed_versions" in Dist::Zilla::PluginBundle::Starter, and
    additionally uses [Git::Commit] a second time after
    [BumpVersionAfterRelease] to commit the bumped versions (with the plugin
    name "Version_Bump_Commit").

  regenerate
    As in "regenerate" in Dist::Zilla::PluginBundle::Starter, and allows
    changes to the copied files to be committed in the "Release_Commit".

REVISIONS
    The "[@Starter::Git]" plugin bundle supports the following revisions.

  Revision 6
    Revision 6 is the current set of best practices, equivalent to using the
    following plugins if not configured further:

    [Git::GatherDir]
    [MetaYAML]
    [MetaJSON]
    [License]
    [Pod2Readme]
    [PodSyntaxTests]
    [Test::ReportPrereqs]
    [Test::Compile]
        xt_mode = 1

    [MakeMaker]
    [Manifest]
    [PruneCruft]
    [PruneFiles]
        filename = README.pod

    [ManifestSkip]
    [RunExtraTests]
    [Git::Check]
        allow_dirty = dist.ini
        allow_dirty = Changes

    [Git::Commit / Release_Commit]
        allow_dirty = dist.ini
        allow_dirty = Changes
        add_files_in = /
        commit_msg = %v%n%n%c

    [Git::Tag]
        tag_format = %v
        tag_message = %v

    [Git::Push]
    [TestRelease]
    [ConfirmRelease]
    [UploadToCPAN]
    [MetaMergeFile]
    [PrereqsFile]
    [MetaNoIndex]
        directory = t
        directory = xt
        directory = inc
        directory = share
        directory = eg
        directory = examples

    [MetaProvides::Package]
        inherit_version = 0

    [ShareDir]
    [ExecDir]

    Revision 6 has no specific differences from Revision 5 beyond the
    changes in Revision 6 in [@Starter].

  Revision 5
    Revision 5 has no specific differences from Revision 4 beyond the
    changes in Revision 5 in [@Starter].

  Revision 4
    Revision 4 has no specific differences from Revision 3 beyond the
    changes in Revision 4 in [@Starter].

  Revision 3
    Revision 3 is the default if no revision is specified, and differs from
    Revision 3 in [@Starter] as follows:

    * Uses [Git::GatherDir] instead of [GatherDir].

    * Includes the following additional plugins: [Git::Check],
      [Git::Commit], [Git::Tag], [Git::Push].

BUGS
    Report any issues on the public bugtracker.

AUTHOR
    Dan Book <dbook@cpan.org>

COPYRIGHT AND LICENSE
    This software is Copyright (c) 2018 by Dan Book.

    This is free software, licensed under:

      The Artistic License 2.0 (GPL Compatible)

SEE ALSO
    Dist::Zilla, Dist::Zilla::PluginBundle::Starter, Dist::Milla,
    Dist::Zilla::MintingProfile::Starter::Git

