From d3f270f03258b6f045bf0c8ecde830a3d8b0b490 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 26 Jan 2023 09:32:57 +0000 Subject: git: drop needless checks for old git `ambiguous' was added in git 2.21, and `dangling' was the only other possible phrase which was inadvertantly slipped in prior to 2.21. Thus there's no need to check for `notdir' or `loop' responses since we aren't using `git cat-file --follow-symlinks' anywhere. --- lib/PublicInbox/Git.pm | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm index 70adfd45..3e2b435c 100644 --- a/lib/PublicInbox/Git.pm +++ b/lib/PublicInbox/Git.pm @@ -340,11 +340,9 @@ sub check_async_step ($$) { chomp(my $line = my_readline($self->{in_c}, $rbuf)); my ($hex, $type, $size) = split(/ /, $line); - # Future versions of git.git may have type=ambiguous, but for now, - # we must handle 'dangling' below (and maybe some other oddball - # stuff): + # git <2.21 would show `dangling' (2.21+ shows `ambiguous') # https://public-inbox.org/git/20190118033845.s2vlrb3wd3m2jfzu@dcvr/T/ - if ($hex eq 'dangling' || $hex eq 'notdir' || $hex eq 'loop') { + if ($hex eq 'dangling') { my $ret = my_read($self->{in_c}, $rbuf, $type + 1); $self->fail(defined($ret) ? 'read EOF' : "read: $!") if !$ret; } @@ -419,12 +417,9 @@ sub check { check_async_wait($self); my ($hex, $type, $size) = @$result; - # Future versions of git.git may show 'ambiguous', but for now, - # we must handle 'dangling' below (and maybe some other oddball - # stuff): + # git <2.21 would show `dangling' (2.21+ shows `ambiguous') # https://public-inbox.org/git/20190118033845.s2vlrb3wd3m2jfzu@dcvr/T/ - return if $type eq 'missing' || $type eq 'ambiguous'; - return if $hex eq 'dangling' || $hex eq 'notdir' || $hex eq 'loop'; + return if $type =~ /\A(?:missing|ambiguous)\z/ || $hex eq 'dangling'; ($hex, $type, $size); } -- cgit v1.2.3-24-ge0c7