chiark / gitweb /
Move stat_exists to Dgit.pm
[dgit.git] / infra / dgit-repos-server
index 5599061de2a68cb8e997c66f2d81e48c489688a9..d2f94f1957e0bed922a0db052e2a81b921fa789a 100755 (executable)
@@ -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;