Dist::Zilla::Plugin::Git::Remote::Check - Ensure no pending commits on a
    remote branch before release

    version 0.1.2

       ; Provided by Dist::Zilla::Role::Git::Remote
      ; String
      ; The name of the remote to update.
      ; Must exist in Git.
      ; default is 'origin'
      remote_name = origin

      ; Provided by Dist::Zilla::Role::Git::Remote::Update
      ; Boolean
      ; turn updating on/off
      ; default is 'on' ( 1 / true )
      do_update = 1

      ; Provided by Dist::Zilla::Role::Git::Remote::Branch
      ; String
      ; the name of the branch on the remote side to check against
      ; default is the same value us 'branch'
      remote_branch = master

      ; String
      ; the name of the branch on the local side to check.
      ; default is 'master'
      branch = master

      ; Provided by Dist::Zilla::Role::Git::Remote::Check;
      ; Int
      ; How many of the most recent commits to dump when we're behind upstream.
      ; default = 5
      report_commits = 5

    The name of the repository to use as specified in ".git/config".

    Defaults to "origin", which is usually what you want.

    The branch name on the remote.

    e.g.: For "origin/master" use "master" with "remote_name = origin"

    Defaults to the same value as "branch"

    A boolean value that specifies whether or not to execute the update.

    Default value is 1 / true.

    The local branch to check against the remote one. Defaults to 'master'

    In the event the remote is ahead, this "Int" dictates the maximum number
    of commits to print to output.

    Defaults to 5

    Executes code before releasing.

    1.  Updates the "remote" via "remote_update" in

    2.  Checks the "remote" via "check_remote" in

    Returns a Git::Wrapper instance for the current Dist::Zilla projects
    "git" Repository.

    Returns a validated remote name. Configured via "remote_name" parameter.

    Returns a fully qualified branch name for the parameter specified as
    "remote_branch" by combining it with "remote", and defaulting to the
    value of "branch" if not assigned explicitly.

    Performs "git remote update $remote_name" on "git" for the remote

    The local branch to check against the remote one. Defaults to 'master'

    Compare "branch" and "remote_branch" making sure that "branch" is the
    more recent of the 2.

    Causes this plugin to be executed during Dist::Zilla's "Before Re,ease"
    phase. ( "before_release" )

    Provides a "git" method that returns a "Git::Wrapper" instance for the
    current "Dist::Zilla" project.

    Provides a "remote" method which always returns a validated "remote"
    name, optionally accepting it being specified manually to something
    other than "origin" via the parameter "remote_name"

    Provides a "remote_branch" method which combines the value returned by
    "remote" with a user specified branch name and returns a fully qualified
    remote branch name.

    Provides a "remote_update" method which updates a "remote" in "git"

    Provides "check_remote" which compares "branch" and "remote_branch" and
    asserts "remote_branch" is not ahead of "branch"

    Kent Fredric <>

    This software is copyright (c) 2012 by Kent Fredric <>.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.