summaryrefslogtreecommitdiff
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
parente1adbc736603409551756653090e4455562833af (diff)
Move stat_exists to Dgit.pm
-rw-r--r--Debian/Dgit.pm8
-rwxr-xr-xdgit7
-rwxr-xr-xinfra/dgit-repos-server16
3 files changed, 12 insertions, 19 deletions
diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm
index 211bae3..8b29ba2 100644
--- a/Debian/Dgit.pm
+++ b/Debian/Dgit.pm
@@ -12,6 +12,7 @@ BEGIN {
$VERSION = 1.00;
@ISA = qw(Exporter);
@EXPORT = qw(debiantag server_branch server_ref
+ stat_exists
$package_re $branchprefix);
%EXPORT_TAGS = ( policyflags => qw() );
@EXPORT_OK = qw();
@@ -43,4 +44,11 @@ sub debiantag ($) {
sub server_branch ($) { return "$branchprefix/$_[0]"; }
sub server_ref ($) { return "refs/".server_branch($_[0]); }
+sub stat_exists ($) {
+ my ($f) = @_;
+ return 1 if stat $f;
+ return 0 if $!==&ENOENT;
+ die "stat $f: $!";
+}
+
1;
diff --git a/dgit b/dgit
index a0144bc..ad6289d 100755
--- a/dgit
+++ b/dgit
@@ -185,13 +185,6 @@ sub changedir ($) {
chdir $newdir or die "chdir: $newdir: $!";
}
-sub stat_exists ($) {
- my ($f) = @_;
- return 1 if stat $f;
- return 0 if $!==&ENOENT;
- die "stat $f: $!";
-}
-
sub deliberately ($) {
return !!grep { $_[0] eq $_ } @deliberatelies;
}
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;