Page MenuHomeFreeBSD

ports/latest-quarterly

Authored By
mat
Apr 15 2021, 2:32 PM
Size
1 KB
Referenced Files
None
Subscribers
None

ports/latest-quarterly

#!/usr/local/bin/perl
# vim:sts=4 sw=4
use strict;
use warnings;
use 5.024;
sub short_ref {
my ($ref) = @_;
$ref =~ s{refs/heads/}{}oms;
return $ref;
}
my $push_option_count = $ENV{GIT_PUSH_OPTION_COUNT};
for (my $i = 0; $i < $push_option_count; ++$i) {
exit 0 if $ENV{"GIT_PUSH_OPTION_${i}"} eq "unsupported-quarterly";
}
my @quarterlies;
for (qx{git show-ref --heads}) {
chomp;
my ($hash, $ref) = split / /;
next if $ref !~ m{refs/heads/\d\d\d\dQ\d\z}oms;
push @quarterlies, $ref;
}
@quarterlies = sort @quarterlies;
my $latest = $quarterlies[-1];
foreach (<STDIN>) {
chomp;
my ($old, $new, $ref) = split / /;
next if $ref !~ m{^refs/heads/20\d\dQ\d\z}oms;
next if $ref eq $latest;
die "\n================================================================\n" .
"$ENV{GL_USER}, you are pushing a commit to ${\(short_ref($ref))} which is not\n" .
"the latest quarterly branch. The latest is ${\(short_ref($latest))}.\n" .
"\n" .
"Please check that you really mean to do this, and if you do, use:\n" .
"\tgit push --push-option=unsupported-quarterly\n" .
"================================================================\n"
}
exit 0;

File Metadata

Mime Type
text/plain; charset=utf-8
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3597477
Default Alt Text
ports/latest-quarterly (1 KB)

Event Timeline