chiark / gitweb /
playground refactoring: Dgit.pm: Honour $maindir in fresh_playground
[dgit.git] / Debian / Dgit.pm
index 27fd29ab6fefa21ab0ae991fe1661fbc0c0ddfd3..473c01e6018bc19c2eb1878274db0676cc854367 100644 (file)
@@ -531,7 +531,8 @@ sub fresh_playground ($) {
 sub playtree_setup (;$) {
     my ($t_local_git_cfg) = @_;
     $t_local_git_cfg //= $local_git_cfg;
-    # should be run in a directory .git/FOO/BAR of a working tree
+    # for use in the playtree
+    # $maindir must be set, eg by calling record_maindir or fresh_playground
     runcmd qw(git init -q);
     runcmd qw(git config gc.auto 0);
     foreach my $copy (qw(user.email user.name user.useConfigOnly
@@ -543,7 +544,7 @@ sub playtree_setup (;$) {
        runcmd qw(git config), $copy, $_ foreach @$v;
     }
     rmtree('.git/objects');
-    symlink '../../../../objects','.git/objects' or die $!;
+    symlink "$maindir/.git/objects",'.git/objects' or die $!;
     ensuredir '.git/info';
     open GA, "> .git/info/attributes" or die $!;
     print GA "* $negate_harmful_gitattrs\n" or die $!;