File: check_patchperl.pl

package info (click to toggle)
libdevel-patchperl-perl 2.08-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 748 kB
  • sloc: perl: 7,948; ansic: 46; makefile: 2
file content (34 lines) | stat: -rw-r--r-- 1,118 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use 5.012;
use Perl::Version;
use Git::Repository;
use ExtUtils::MakeMaker;
use Capture::Tiny qw[capture_merged];

Git::Repository->run( clone => 'https://github.com/Perl/perl5.git', 'perl.git' ) unless -d 'perl.git';
my $r = Git::Repository->new( work_tree => 'perl.git', { quiet => 1 } );
my @tags = grep { m!^(perl-|v)5\.! && !m!5\.00! && !m!-RC\d+$! && !m!^\Qv5.17.7.0\E$! && !m!^perl-5\.10\.! } $r->run( tag => '-l' );
{
  my @ptags = grep { m!^perl! } @tags;
  my @vtags = sort { Perl::Version->new($a)->numify <=> Perl::Version->new($b)->numify } grep { m!^v! } @tags;
  @tags = ( @ptags, @vtags );
}

foreach my $tag ( reverse @tags ) {
  say "Checking $tag ...";
  $r->run( checkout => $tag );
  my $ret; my $value;
  my $merged = capture_merged {
    $ret = system( $^X, '-Ilib', 'bin/patchperl', 'perl.git' );
  };
  unless ( $ret == 0 ) {
    print $merged;
    $value = prompt("Continue [Y/n]?","y") unless $ret == 0;
  }
  $r->run( reset => '--hard' );
  $r->run( clean => '-dxf' );
  last if $value =~ m!^n!i;
}

$r->run( reset => '--hard' );
$r->run( clean => '-dxf' );
$r->run( checkout => 'blead' );