chiark / gitweb /
Dgit.pm: workarea_setup: Break out from dgit
[dgit.git] / dgit
diff --git a/dgit b/dgit
index ef608732f162de8b2a197446e4ce7e87807809ca..89f496d7e72f8a698a6d8bdbd7b817ad354edf4f 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -1705,22 +1705,7 @@ sub prep_ud (;$) {
 }
 
 sub mktree_in_ud_here () {
-    runcmd qw(git init -q);
-    runcmd qw(git config gc.auto 0);
-    foreach my $copy (qw(user.email user.name user.useConfigOnly
-                         core.sharedRepository
-                         core.compression core.looseCompression
-                         core.bigFileThreshold core.fsyncObjectFiles)) {
-       my $v = $gitcfgs{local}{$copy};
-       next unless $v;
-       runcmd qw(git config), $copy, $_ foreach @$v;
-    }
-    rmtree('.git/objects');
-    symlink '../../../../objects','.git/objects' or die $!;
-    ensuredir '.git/info';
-    open GA, "> .git/info/attributes" or die $!;
-    print GA "* $negate_harmful_gitattrs\n" or die $!;
-    close GA or die $!;
+    workarea_setup $gitcfgs{local};
 }
 
 sub git_write_tree () {