* Ignore hash conflicts in gc-releases.pl.

This commit is contained in:
Eelco Dolstra 2005-03-18 09:43:25 +00:00
parent 67eff20906
commit 7272c3f817
3 changed files with 10 additions and 5 deletions

View file

@ -32,7 +32,7 @@ my %successors;
foreach my $manifest (@ARGV) {
print STDERR "loading $manifest\n";
if (readManifest($manifest, \%narFiles, \%patches, \%successors) < 3) {
if (readManifest($manifest, \%narFiles, \%patches, \%successors, 1) < 3) {
# die "manifest `$manifest' is too old (i.e., for Nix <= 0.7)\n";
}
}

View file

@ -328,7 +328,7 @@ foreach my $p (keys %dstOutPaths) {
{ url => "$patchesURL/$finalName", hash => "$hashAlgo:$narDiffHash"
, size => $narDiffSize, basePath => $closest, baseHash => "$hashAlgo:$baseHash"
, narHash => "$hashAlgo:$narHash", patchType => "nar-bsdiff"
};
}, 0;
}
}

View file

@ -5,6 +5,7 @@ sub addPatch {
my $patches = shift;
my $storePath = shift;
my $patch = shift;
my $allowConflicts = shift;
$$patches{$storePath} = []
unless defined $$patches{$storePath};
@ -18,7 +19,8 @@ sub addPatch {
$found = 1 if ($patch2->{basePath} eq $patch->{basePath});
} else {
die "conflicting hashes for URL $patch->{url}, " .
"namely $patch2->{hash} and $patch->{hash}";
"namely $patch2->{hash} and $patch->{hash}"
unless $allowConflicts;
}
}
}
@ -34,6 +36,8 @@ sub readManifest {
my $narFiles = shift;
my $patches = shift;
my $successors = shift;
my $allowConflicts = shift;
$allowConflicts = 0 unless defined $allowConflicts;
open MANIFEST, "<$manifest"
or die "cannot open `$manifest': $!";
@ -100,7 +104,8 @@ sub readManifest {
$found = 1;
} else {
die "conflicting hashes for URL $url, " .
"namely $narFile->{hash} and $hash";
"namely $narFile->{hash} and $hash"
unless $allowConflicts;
}
}
}
@ -124,7 +129,7 @@ sub readManifest {
, basePath => $basePath, baseHash => $baseHash
, narHash => $narHash, patchType => $patchType
, hashAlgo => $hashAlgo
};
}, $allowConflicts;
}
}