summaryrefslogtreecommitdiff
path: root/infra/dgit-repos-server
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2015-03-21 13:41:06 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2015-03-22 15:19:51 +0000
commit8afbacc6da4ad5ccaf931d113df175bef22cc7b1 (patch)
tree810a27f66dbdf2a667063bbe3a9be6b8ef395dd9 /infra/dgit-repos-server
parente1adbc736603409551756653090e4455562833af (diff)
Move stat_exists to Dgit.pm
Diffstat (limited to 'infra/dgit-repos-server')
-rwxr-xr-xinfra/dgit-repos-server16
1 files changed, 4 insertions, 12 deletions
diff --git a/infra/dgit-repos-server b/infra/dgit-repos-server
index 5599061..d2f94f1 100755
--- a/infra/dgit-repos-server
+++ b/infra/dgit-repos-server
@@ -124,10 +124,7 @@ sub acquirelock ($$) {
debug " locking $lock failed";
return undef;
}
- if (!stat $lock) {
- next if $! == ENOENT;
- die "stat $lock: $!";
- }
+ next unless stat_exists $lock;
my $want = (stat _)[1];
stat $fh or die $!;
my $got = (stat _)[1];
@@ -267,10 +264,7 @@ END
sub dealwithfreshrepo () {
my $freshrepo = "${workrepo}_fresh";
- if (!stat $freshrepo) {
- $!==ENOENT or die "$freshrepo $!";
- return;
- }
+ return unless stat_exists $freshrepo;
$destrepo = $freshrepo;
}
@@ -596,8 +590,7 @@ sub stunthook () {
sub fixmissing__git_upload_pack () {
$destrepo = "$dgitrepos/_empty";
my $lfh = acquiretree($destrepo,1);
- return if stat $destrepo;
- die $! unless $!==ENOENT;
+ return if stat_exists $destrepo;
rmtree "$destrepo.new";
mkemptyrepo "$destrepo.new", "0644";
rename "$destrepo.new", $destrepo or die $!;
@@ -686,10 +679,9 @@ sub parseargsdispatch () {
}
close $pollock or die $!;
- if (stat $realdestrepo) {
+ if (stat_exists $realdestrepo) {
$destrepo = $realdestrepo;
} else {
- $! == ENOENT or die "stat dest repo $destrepo: $!";
debug " fixmissing $funcn";
my $fixfunc = $main::{"fixmissing__$funcn"};
&$fixfunc;