]> git.vpit.fr Git - perl/modules/rgit.git/blobdiff - lib/App/Rgit/Repository.pm
Test it, and prevent an undefined warning with fake repos
[perl/modules/rgit.git] / lib / App / Rgit / Repository.pm
index 43c6d5b33cf1caa7c2d867ba8c810b311f324fca..ec96328a57882cc5e8f076b2b4ee2444141df69e 100644 (file)
@@ -45,7 +45,7 @@ sub new {
  $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;
@@ -129,10 +129,14 @@ sub run {
   );
   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 -1, -1;
+  return;
  }
  my $ret;
  $ret = WEXITSTATUS($?) if WIFEXITED($?);