App-Gitc
view release on metacpan or search on metacpan
bin/gitc-unpromoted view on Meta::CPAN
our %notes;
my $number = $its->issue_number($issue);
return '' if $notes{$number}++;
my $notes = $its->issue_promotion_notes($issue);
return '' if not $notes;
if ($for_deploy) {
return sprintf "$number:\n\n$notes\n%s\n", '-' x 30;
}
else {
return sprintf "\n\n$notes\n%s\n", '-' x 30;
}
},
# changeset's scheduled release
'r' => sub {
my ($changeset) = @_;
my $its = its_for_changeset($changeset) or return '';
my $issue = eval { $its->get_issue($changeset) } or return '';
my $release = $its->issue_scheduled_release($issue);
$release = '' if not $release;
return "$release";
},
# changeset summary
's' => sub {
my ($changeset) = @_;
my $its = its_for_changeset($changeset) or return '';
my $issue = eval { $its->get_issue($changeset) } or return '';
our %summaries;
my $number = $its->issue_number($issue);
return 'already seen' if $summaries{$number}++;
return $its->issue_summary($issue) || '';
},
# changeset status
'S' => sub {
my ($changeset) = @_;
my $its = its_for_changeset($changeset) or return '';
my $issue = eval { $its->get_issue($changeset) } or return '';
return ( $its->issue_state($issue) . '' ) || '';
},
);
my $target = shift
or die "You must specify the target of a hypothetical promotion\n";
# which branch precedes the target branch?
my $before_target = environment_preceding($target);
die "Calling unpromoted with a target of '$target' is meaningless\n"
if not defined $before_target;
# find all the changeset merges in $before_target that're not in $target
git "fetch origin" if is_auto_fetch();
my @unpromoted = unpromoted( "origin/$before_target", "origin/$target" );
sort_changesets_by_name(\@unpromoted);
display($_) for @unpromoted;
sub display {
my ($changeset) = @_;
my $rx = join '|', keys %formats;
my @escapes = $format =~ m/%($rx)/g;
my %values;
for my $escape (@escapes) {
next if exists $values{$escape};
$values{$escape} = $formats{$escape}->($changeset);
}
( my $result = $format ) =~ s/%($rx)/$values{$1}/eg;
print "$result\n";
}
__END__
=pod
=head1 NAME
gitc-unpromoted - Return a list of unpromoted changesets
=head1 VERSION
version 0.60
=head1 AUTHOR
Grant Street Group <developers@grantstreet.com>
=head1 COPYRIGHT AND LICENSE
This software is Copyright (c) 2013 by Grant Street Group.
This is free software, licensed under:
The GNU Affero General Public License, Version 3, November 2007
=cut
( run in 1.654 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )