summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Debian/Dgit.pm9
-rwxr-xr-xinfra/dgit-repos-server9
2 files changed, 11 insertions, 7 deletions
diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm
index a53cb82..c2b7f67 100644
--- a/Debian/Dgit.pm
+++ b/Debian/Dgit.pm
@@ -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 () {
diff --git a/infra/dgit-repos-server b/infra/dgit-repos-server
index f700df8..e794de2 100755
--- a/infra/dgit-repos-server
+++ b/infra/dgit-repos-server
@@ -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) = @_;