package ShipIt::Step::Commit;
use strict;
use base 'ShipIt::Step';

sub run {
    my ($self, $state) = @_;
    my $vc  = $state->vc;
    my $ver = $state->version;

    my $msg = "Checking in changes prior to tagging of version $ver.\n\nChangelog diff is:\n\n";

    foreach my $f ($state->changelog_files) {
        $msg .= $vc->local_diff($f);
    }

    if ($state->dry_run) {
        print "DRY-RUN.  Would have committed message of:\n----------------\n$msg\n-----------\n";
        return;
    }

    $vc->commit($msg);

}

1;
