chiark / gitweb /
Break out mktree_in_ud_here (nfc)
[dgit.git] / dgit
diff --git a/dgit b/dgit
index 6fd8f7d768fc7058e4db69f5000f33e7f4b01dee..b13b5ed566c74f36d24a96298f59eb5e0ea007aa 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -976,6 +976,12 @@ sub prep_ud () {
     mkdir $ud or die $!;
 }
 
+sub mktree_in_ud_here () {
+    runcmd qw(git init -q);
+    rmtree('.git/objects');
+    symlink '../../../../objects','.git/objects' or die $!;
+}
+
 sub mktree_in_ud_from_only_subdir () {
     # changes into the subdir
     my (@dirs) = <*/.>;
@@ -984,10 +990,7 @@ sub mktree_in_ud_from_only_subdir () {
     my $dir = $1;
     changedir $dir;
     fail "source package contains .git directory" if stat_exists '.git';
-    die $! unless $!==&ENOENT;
-    runcmd qw(git init -q);
-    rmtree('.git/objects');
-    symlink '../../../../objects','.git/objects' or die $!;
+    mktree_in_ud_here();
     runcmd @git, qw(add -Af);
     my $tree = cmdoutput @git, qw(write-tree);
     $tree =~ m/^\w+$/ or die "$tree ?";