chiark / gitweb /
Break out ensuredir and make mkrepotmp use it
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 27 May 2015 20:24:04 +0000 (21:24 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 31 May 2015 11:17:08 +0000 (12:17 +0100)
Debian/Dgit.pm
infra/dgit-repos-server

index a53cb82..c2b7f67 100644 (file)
@@ -16,7 +16,7 @@ BEGIN {
     $VERSION     = 1.00;
     @ISA         = qw(Exporter);
     @EXPORT      = qw(debiantag server_branch server_ref
-                      stat_exists fail waitstatusmsg failedcmd
+                      stat_exists fail ensuredir waitstatusmsg failedcmd
                       cmdoutput cmdoutput_errok
                       git_rev_parse git_for_each_ref
                       git_for_each_tag_referring is_fast_fwd
@@ -128,6 +128,13 @@ sub fail {
     die $s;
 }
 
+sub ensuredir ($) {
+    my ($dir) = @_; # does not create parents
+    return if mkdir $dir;
+    return if $! == EEXIST;
+    die "mkdir $dir: $!";
+}
+
 our @signames = split / /, $Config{sig_name};
 
 sub waitstatusmsg () {
index f700df8..e794de2 100755 (executable)
@@ -234,12 +234,9 @@ sub lockrealtree () {
     locksometree(realdestrepo);
 }
 
-sub mkrepotmp () {
-    my $tmpdir = "$dgitrepos/_tmp";
-    return if mkdir $tmpdir;
-    return if $! == EEXIST;
-    die $!;
-}
+sub mkrepotmp () { ensuredir "$dgitrepos/_tmp" };
+
+sub removedtagsfile () { "$dgitrepos/_removed-tags/$package"; }
 
 sub recorderror ($) {
     my ($why) = @_;