diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-07-26 15:21:04 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-07-26 15:27:02 +0100 |
commit | b08cca6630e64c51ec712c8acf72397faf7ab700 (patch) | |
tree | 7f717ea5867fcf70008f11efbff44cca0e019a29 /dgit | |
parent | c04a69e8d6a4eeef6ee161a2fb39be3b4d7279d8 (diff) |
When source package contains things called .git (even files, and even in subdirectories), remove them. Closes:#793671.
Diffstat (limited to 'dgit')
-rwxr-xr-x | dgit | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -1165,7 +1165,21 @@ sub mktree_in_ud_from_only_subdir () { $dirs[0] =~ m#^([^/]+)/\.$# or die; my $dir = $1; changedir $dir; - fail "source package contains .git directory" if stat_exists '.git'; + + my @gitscmd = qw(find -name .git -prune -print0); + debugcmd "|",@gitscmd; + open GITS, "-|", @gitscmd or failedcmd @gitscmd; + { + local $/="\0"; + while (<GITS>) { + chomp or die; + print STDERR "$us: warning: removing from source package: ", + (messagequote $_), "\n"; + rmtree $_; + } + } + $!=0; $?=0; close GITS or failedcmd @gitscmd; + mktree_in_ud_here(); my $format=get_source_format(); if (madformat($format)) { |