$dir = cwd unless defined $dir;
my ($repo, $bare, $name, $work);
if ($args{fake}) {
- $work = $dir;
+ $repo = $work = $dir;
} else {
my @tries = ($dir);
my @chunks = splitdir $dir;
);
s/\^([\^ngGwWbBR])/$escapes{$1}->()/eg for @args;
}
- system { $conf->git } $conf->git, @args;
+ {
+ local $ENV{GIT_DIR} = $self->repo if exists $ENV{GIT_DIR};
+ local $ENV{GIT_EXEC_PATH} = $conf->git if exists $ENV{GIT_EXEC_PATH};
+ system { $conf->git } $conf->git, @args;
+ }
if ($? == -1) {
warn "Failed to execute git: $!\n";
return;