From 15b1da549c58aed4425934594ac5fdd91222aeed Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 2 Aug 2017 15:52:41 +0100 Subject: [PATCH] playground refactoring: Dgit.pm: Honour $maindir in fresh_playground Previously, fresh_playground expected that the playground argument has exactly the depth .git/FOO/BAR. Now, it expects that $maindir is set. In dgit (the only caller right now) this is always true because dgit now uses fresh_playground. Signed-off-by: Ian Jackson --- Debian/Dgit.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index 27fd29ab..473c01e6 100644 --- a/Debian/Dgit.pm +++ b/Debian/Dgit.pm @@ -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 $!; -- 2.30.2