2009-11-25

announcing git plugin for dist-zilla

pushing lazyness even further, i released a git plugin for dist-zilla. in fact, there are 4 plugins within the distribution. they are kicking in during dzil release, since i've hacked dzil to provide beforerelease and afterrelease roles.

dzp:git:check - this plugin checks that git is in a clean state before releasing. the following checks are performed before releasing:
  • there should be no files in the index (staged copy)
  • there should be no untracked files in the working copy
  • the working copy should be clean. the changelog and dist.ini can be modified locally, though.
if those conditions are not met, the plugin will die, and the release will thus be aborted. this lets you fix the problems before continuing.

dzp:git:commit - once the release is done, this plugin will commit in git if needed changelog and dist.ini (which is a valid target if you happen to set the version manually in it). the commit message will be taken from the changelog for this release.

dzp:git:tag - once the release is done, this plugin will record this fact in git by creating a tag named v$VERSION.

dzp:git:push - once the release is done, this plugin will push current git branch to remote end, with the associated tags.

if you want to use all those neat plugins, you may want to use the git plugin bundle by writing in your dist.ini:
[@Git]
there, one more thing that dzil is doing for me... no more time lost doing those tedious steps - if you're lazy, you should really try it! as usual, comments and feature requests are welcome.

3 comments:

  1. Awesome. I will start using this any day now!

    ReplyDelete
  2. I'm quickly running out of reasons to stick with Module::Install

    ReplyDelete
  3. Neat. Will be trying this now.

    I usually write short commit messages, let's see how more useful it is to dump the whole ChangeLog entries for the release into the commit message :-)

    ReplyDelete