diff options
| author | Arne Georg Gleditsch <argggh@lxr.linpro.no> | 2009-08-12 22:48:21 +0200 | 
|---|---|---|
| committer | Arne Georg Gleditsch <argggh@lxr.linpro.no> | 2009-08-12 22:48:21 +0200 | 
| commit | edd2d08a9aef32f442f43fb960a80680389b1685 (patch) | |
| tree | 980cb0ea99dd0d34865a646a34b62b04015daddc | |
| parent | 981ee0ffb6dda1d61862cab3bd1b72fc68e6e796 (diff) | |
Don't rely on file system to get object of Git tag.
| -rw-r--r-- | lib/LXRng/Repo/Git.pm | 8 | ||||
| -rwxr-xr-x | lxr-genxref | 2 | 
2 files changed, 5 insertions, 5 deletions
diff --git a/lib/LXRng/Repo/Git.pm b/lib/LXRng/Repo/Git.pm index 7407ca0..946c73f 100644 --- a/lib/LXRng/Repo/Git.pm +++ b/lib/LXRng/Repo/Git.pm @@ -112,10 +112,10 @@ sub node {      $path =~ s,/+$,,;      if ($path eq '') { -	open(my $tag, '<', $$self{'root'}.'/refs/tags/'.$release) -	    or return undef; -	my $ref = <$tag>; -	close($tag); +	my $git = $self->_git_cmd('rev-list', '--max-count=1', $release); +	my $ref = <$git>; +	return undef unless $git =~ /\S/; +	close($git);  	chomp($ref);  	return LXRng::Repo::Git::Directory->new($self, '', $ref);      } diff --git a/lxr-genxref b/lxr-genxref index 782ad9f..414b83b 100755 --- a/lxr-genxref +++ b/lxr-genxref @@ -343,7 +343,7 @@ sub inventory_release($) {      my $iter = $rep->iterator($version);      LXRng::Index::transaction { -	my $root = $rep->node('/', $version) or die "bad root"; +	my $root = $rep->node('/', $version) or die "Bad root for release $version";  	my $node;  	while (defined($node = $iter->next)) {  | 
