From: Ian Jackson Date: Wed, 2 Aug 2017 18:59:53 +0000 (+0100) Subject: directory refactoring: most invocations: call record_maintree X-Git-Tag: archive/debian/4.1~32 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=de8600f92c856f9a9925ed4754ab136c53827389;p=dgit.git directory refactoring: most invocations: call record_maintree We need to call record_maintree so that $maindir and its friends are set, since we're going to rely on them heavily. Most operations will need them. Any operation that is invoked in a git tree should definitely have this called. Signed-off-by: Ian Jackson --- diff --git a/dgit b/dgit index 9aadaf0d..733e6ea1 100755 --- a/dgit +++ b/dgit @@ -635,6 +635,7 @@ our %defcfg = ('dgit.default.distro' => 'debian', our %gitcfgs; our @gitcfgsources = qw(cmdline local global system); +our $invoked_in_git_tree = 1; sub git_slurp_config () { # This algoritm is a bit subtle, but this is needed so that for @@ -684,6 +685,7 @@ sub cfg { sub not_necessarily_a_tree () { # needs to be called from pre_* @gitcfgsources = grep { $_ ne 'local' } @gitcfgsources; + $invoked_in_git_tree = 0; } sub access_basedistro__noalias () { @@ -6797,6 +6799,7 @@ $cmd =~ y/-/_/; my $pre_fn = ${*::}{"pre_$cmd"}; $pre_fn->() if $pre_fn; +record_maindir if $invoked_in_git_tree; git_slurp_config(); my $fn = ${*::}{"cmd_$cmd"};