> dzil

Plugin Catalog - version-control

These plugins interact with version control systems like Git or Subversion.

CopyMakefilePLFromBuildby ROKR(also tagged: after-release)

This plugin will automatically copy the Makefile.PL from the build directory into the distribution directory so you can commit it to version control. When building directly from GitHub (via cpanm, for example) you would need a Makefile.PL.

CopyReadmeFromBuildby ROKR(also tagged: after-release)

This plugin will automatically copy the README from the build directory into the distribution directory so you can commit it to version control. GitHub, for example, likes to see a README. As an alternative, you can have a separate file (e.g. README.md) for GitHub.

Git::Checkby JQUELIN(also tagged: before-release, git)

This plugin ensures that Git is in a clean state before releasing. This means you have no no untracked files or uncommitted changes in the working copy (execpt those you intend to commit as part of the release process).

Git::CheckFor::CorrectBranchby RSRCHBOY(also tagged: before-release, git)

This plugin checks that you are on the correct branch before allowing a release. It prevents accidental releases being cut from topic branches.

Git::CheckFor::Fixupsby RSRCHBOY(also tagged: before-release, git)

This plugin checks that you have no fixup or squash commits remaining in your history since the last release. The presence of these commits is almost certainly an oversight, so if any are found the release is aborted.

Git::Commitby JQUELIN(also tagged: after-release, changelog, git)

Once the release is done, this plugin will record this fact in Git by committing the changelog and dist.ini.

Git::CommitBuildby JQUELIN(also tagged: after-release, git)

Once the build is done, this plugin will commit the results of the build to a branch that is completely separate from your regular code branches (i.e. with a different root commit). This potentially makes your repository more useful to those who may not have Dist::Zilla and all of its dependencies installed.

Git::GatherDirby JQUELIN(also tagged: file-gatherer, git)

This subclass of the GatherDir plugin gathers only the files that are tracked by Git (as determined by git ls-files). This can keep you from needing to maintain separate .gitignore and MANIFEST.SKIP files.

Git::Initby JQUELIN(also tagged: git, minting)

This plugin initializes a Git repository when a new distribution is created with dzil new.

Git::NextVersionby JQUELIN(also tagged: git, version-provider)

This provides a version number by finding the last version number from your Git tags and incrementing it using Version::Next.

Git::Pushby JQUELIN(also tagged: after-release, git)

Once the release is done, this plugin will push the current Git branch and tags to your configured remote.

Git::Tagby JQUELIN(also tagged: after-release, before-release, git)

Once the release is done, this plugin will record this fact in Git by creating a tag. It also checks before a release to ensure that tag doesn't already exist (which would indicate you're trying to release the same version twice).

GithubMetaby BINGOS(also tagged: git, metadata)

This plugin sets your distribution's resources metadata based on your Git remote specification to GitHub. It does not perform any network access.

Repositoryby FAYLAND(also tagged: git, metadata)

This plugin attempts to determine your repository URL automatically from your svn/svk/Git working dir.

You can fork and improve this documentation on GitHub!