diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-05-31 17:04:44 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-05-31 17:04:44 +0100 |
commit | 013cc5ea30f13c2ea3be8851a34efe7fd6af2eae (patch) | |
tree | 19418a4b57e5c39efb717bf83c94593cde71fb8c /infra/dgit-repos-server | |
parent | c1e9b51c128cde4b5359618c28405981d690127e (diff) |
Push replay prevention protocol: Rename "supersedes" to "previously", as not necessarily actually superseded
Diffstat (limited to 'infra/dgit-repos-server')
-rwxr-xr-x | infra/dgit-repos-server | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/infra/dgit-repos-server b/infra/dgit-repos-server index e2bec01..5a87b89 100755 --- a/infra/dgit-repos-server +++ b/infra/dgit-repos-server @@ -189,7 +189,7 @@ our $keyrings; our @lockfhs; our @deliberatelies; -our %supersedes; +our %previously; our $policy; our @policy_args; @@ -515,9 +515,9 @@ sub parsetag () { die "$1 != $distro" unless $1 eq $distro; } elsif (s/^(--deliberately-$deliberately_re) //) { push @deliberatelies, $1; - } elsif (s/^supersede:(\S+)=(\w+) //) { - die "supersede $1 twice" if defined $supersedes{$1}; - $supersedes{$1} = $2; + } elsif (s/^previously:(\S+)=(\w+) //) { + die "previously $1 twice" if defined $previously{$1}; + $previously{$1} = $2; } elsif (s/^[-+.=0-9a-z]\S* //) { } else { die "unknown dgit info in tag ($_)"; @@ -707,17 +707,17 @@ sub checktagnoreplay () { my $nchecked = 0; my @problems; - my $check_ref_superseded= sub { + my $check_ref_previously= sub { my ($objid,$objtype,$fullrefname,$reftail) = @_; my $supkey = $fullrefname; $supkey =~ s{^refs/}{} or die "$supkey $objid ?"; - my $supobjid = $supersedes{$supkey}; + my $supobjid = $previously{$supkey}; if (!defined $supobjid) { printdebug "checktagnoreply - missing\n"; - push @problems, "does not supersede $supkey"; + push @problems, "does not declare previously $supkey"; } elsif ($supobjid ne $objid) { - push @problems, "supersedes $supkey=$supobjid". - " but previously $supkey=$objid"; + push @problems, "declared previously $supkey=$supobjid". + " but actually previously $supkey=$objid"; } else { $nchecked++; } @@ -725,7 +725,7 @@ sub checktagnoreplay () { if ($policy & FRESHREPO) { foreach my $kind (qw(tags heads)) { - git_for_each_ref("refs/$kind", $check_ref_superseded); + git_for_each_ref("refs/$kind", $check_ref_previously); } } else { my $branch= server_branch($suite); @@ -738,10 +738,10 @@ sub checktagnoreplay () { " checking for overwriting refs/$branch=$branchhead\n"; git_for_each_tag_referring($branchhead, sub { my ($tagobjid,$refobjid,$fullrefname,$tagname) = @_; - $check_ref_superseded->($tagobjid,undef,$fullrefname,undef); + $check_ref_previously->($tagobjid,undef,$fullrefname,undef); }); printdebug "checktagnoreplay - not FRESHREPO, nchecked=$nchecked"; - push @problems, "does not supersede any tag". + push @problems, "does not declare previously any tag". " referring to branch head $branch=$branchhead" unless $nchecked; } |