summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdgit19
1 files changed, 11 insertions, 8 deletions
diff --git a/dgit b/dgit
index 660c0c3..40e50d1 100755
--- a/dgit
+++ b/dgit
@@ -1217,14 +1217,7 @@ sub git_write_tree () {
return $tree;
}
-sub mktree_in_ud_from_only_subdir () {
- # changes into the subdir
- my (@dirs) = <*/.>;
- die unless @dirs==1;
- $dirs[0] =~ m#^([^/]+)/\.$# or die;
- my $dir = $1;
- changedir $dir;
-
+sub remove_stray_gits () {
my @gitscmd = qw(find -name .git -prune -print0);
debugcmd "|",@gitscmd;
open GITS, "-|", @gitscmd or failedcmd @gitscmd;
@@ -1238,7 +1231,17 @@ sub mktree_in_ud_from_only_subdir () {
}
}
$!=0; $?=0; close GITS or failedcmd @gitscmd;
+}
+
+sub mktree_in_ud_from_only_subdir () {
+ # changes into the subdir
+ my (@dirs) = <*/.>;
+ die unless @dirs==1;
+ $dirs[0] =~ m#^([^/]+)/\.$# or die;
+ my $dir = $1;
+ changedir $dir;
+ remove_stray_gits();
mktree_in_ud_here();
my $format=get_source_format();
if (madformat($format)) {