aboutsummaryrefslogtreecommitdiff
path: root/perl/Git.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl/Git.pm')
-rw-r--r--perl/Git.pm11
1 files changed, 6 insertions, 5 deletions
diff --git a/perl/Git.pm b/perl/Git.pm
index 9ce9fcdd3..9da15e9c8 100644
--- a/perl/Git.pm
+++ b/perl/Git.pm
@@ -98,6 +98,8 @@ XSLoader::load('Git', $VERSION);
}
+my $instance_id = 0;
+
=head1 CONSTRUCTORS
@@ -215,7 +217,7 @@ sub repository {
delete $opts{Directory};
}
- $self = { opts => \%opts };
+ $self = { opts => \%opts, id => $instance_id++ };
bless $self, $class;
}
@@ -833,11 +835,10 @@ sub _call_gate {
if (defined $self) {
# XXX: We ignore the WorkingCopy! To properly support
# that will require heavy changes in libgit.
+ # For now, when we will need to do it we could temporarily
+ # chdir() there and then chdir() back after the call is done.
- # XXX: And we ignore everything else as well. libgit
- # at least needs to be extended to let us specify
- # the $GIT_DIR instead of looking it up in environment.
- #xs_call_gate($self->{opts}->{Repository});
+ xs__call_gate($self->{id}, $self->repo_path());
}
# Having to call throw from the C code is a sure path to insanity.