From: Ian Jackson Date: Sun, 26 Jul 2015 14:21:04 +0000 (+0100) Subject: When source package contains things called .git (even files, and even in subdirectori... X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=d3f4f3e6caf677bfbb98440bc0977dd87c8427d0 When source package contains things called .git (even files, and even in subdirectories), remove them. Closes:#793671. --- diff --git a/debian/changelog b/debian/changelog index e9b934b2..e77e8f9c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +dgit (1.1~~) UNRELEASED; urgency=low + + * When source package contains things called .git (even files, and even + in subdirectories), remove them. Closes:#793671. + + -- + dgit (1.0) unstable; urgency=medium Improvements: diff --git a/dgit b/dgit index 9e2e66e4..109f79c7 100755 --- a/dgit +++ b/dgit @@ -1146,7 +1146,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 () { + 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)) {