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 | |
parent | c1e9b51c128cde4b5359618c28405981d690127e (diff) |
Push replay prevention protocol: Rename "supersedes" to "previously", as not necessarily actually superseded
-rwxr-xr-x | dgit | 18 | ||||
-rwxr-xr-x | infra/dgit-repos-server | 24 |
2 files changed, 21 insertions, 21 deletions
@@ -52,7 +52,7 @@ our $new_package = 0; our $ignoredirty = 0; our $rmonerror = 1; our @deliberatelies; -our %supersedes; +our %previously; our $existing_package = 'dpkg'; our $cleanmode = 'dpkg-source'; our $changes_since_version; @@ -1542,9 +1542,9 @@ tagger $authline $package release $cversion for $clogsuite ($csuite) [dgit] [dgit distro=$declaredistro$delibs] END - foreach my $ref (sort keys %supersedes) { + foreach my $ref (sort keys %previously) { print TO <<END or die $!; -[dgit supersede:$ref=$supersedes{$ref}] +[dgit previously:$ref=$previously{$ref}] END } @@ -1665,8 +1665,8 @@ sub dopush ($) { git_for_each_ref(lrfetchrefs, sub { my ($objid,$objtype,$lrfetchrefname,$reftail) = @_; my $rrefname= substr($lrfetchrefname, length(lrfetchrefs) + 1); - responder_send_command("supersedes $rrefname=$objid"); - $supersedes{$rrefname} = $objid; + responder_send_command("previously $rrefname=$objid"); + $previously{$rrefname} = $objid; }); } @@ -1984,12 +1984,12 @@ sub i_resp_param ($) { $i_param{$1} = $2; } -sub i_resp_supersedes ($) { +sub i_resp_previously ($) { $_[0] =~ m#^(refs/tags/\S+)=(\w+)$# - or badproto \*RO, "bad supersedes spec"; + or badproto \*RO, "bad previously spec"; my $r = system qw(git check-ref-format), $1; - die "bad supersedes ref spec ($r)" if $r; - $supersedes{$1} = $2; + die "bad previously ref spec ($r)" if $r; + $previously{$1} = $2; } our %i_wanted; 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; } |