]> Sergey Matveev's repositories - public-inbox.git/commitdiff
git: manifest_entry: use ProcessPipe via popen_rd
authorEric Wong <e@80x24.org>
Sat, 2 Jan 2021 09:13:43 +0000 (19:13 -1400)
committerEric Wong <e@80x24.org>
Sat, 2 Jan 2021 22:38:53 +0000 (22:38 +0000)
Only saves us one line of code, but that's better than nothing.

lib/PublicInbox/Git.pm

index cdd2b400763acd93ee4fd7ba07ad7ae0aa787e0a..3d97300c43c3f0fca345d6719d925d3b9ad652eb 100644 (file)
@@ -507,14 +507,13 @@ sub modified ($) {
 # templates/this--description in git.git
 sub manifest_entry {
        my ($self, $epoch, $default_desc) = @_;
-       my ($fh, $pid) = $self->popen('show-ref');
+       my $fh = $self->popen('show-ref');
        my $dig = Digest::SHA->new(1);
        while (read($fh, my $buf, 65536)) {
                $dig->add($buf);
        }
-       close $fh;
-       waitpid($pid, 0);
-       return if $?; # empty, uninitialized git repo
+       close $fh or return; # empty, uninitialized git repo
+       undef $fh; # for open, below
        my $git_dir = $self->{git_dir};
        my $ent = {
                fingerprint => $dig->hexdigest,