[PATCH] git-archimport: initial import needs empty directory
From: Gerrit Pape <hidden>
Date: 2016-06-15 22:42:52
Subsystem:
the rest · Maintainer:
Linus Torvalds
Hi, please see http://bugs.debian.org/400508:
git-archimport deletes the directory tree in the current working directory during the initial import. The documentation has a sentence saying that an empty directory is expected but this can be dangerous for people not familiar with the tool.
git-archimport should better refuse to start an initial import if the current directory is not empty. Signed-off-by: Gerrit Pape <redacted> --- git-archimport.perl | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/git-archimport.perl b/git-archimport.perl
index 2e15781..66aaeae 100755
--- a/git-archimport.perl
+++ b/git-archimport.perl@@ -95,6 +95,15 @@ $ENV{'TMPDIR'} = $opt_t if $opt_t; # $ENV{TMPDIR} will affect tempdir() calls: my $tmp = tempdir('git-archimport-XXXXXX', TMPDIR => 1, CLEANUP => 1); $opt_v && print "+ Using $tmp as temporary directory\n"; +unless (-d $git_dir) { # initial import needs empty directory + opendir DIR, '.' or die "Unable to open current directory: $!\n"; + while (my $entry = readdir DIR) { + $entry =~ /^\.\.?$/ or + die "Initial import needs an empty current working directory.\n" + } + closedir DIR +} + my %reachable = (); # Arch repositories we can access my %unreachable = (); # Arch repositories we can't access :< my @psets = (); # the collection
--
1.4.4.4