From 4cefd2b05e5262f31505c7226ce761cbd4b1f308 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 19 Jan 2019 06:36:04 +0000 Subject: git: support 'ambiguous' result from --batch-check David Turner's patch to return "ambiguous" seems like a reasonable patch for future versions of git: https://public-inbox.org/git/672a6fb9e480becbfcb5df23ae37193784811b6b.camel@novalis.org/ --- lib/PublicInbox/Git.pm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm index b655921b..a0b934a3 100644 --- a/lib/PublicInbox/Git.pm +++ b/lib/PublicInbox/Git.pm @@ -179,11 +179,13 @@ sub check { local $/ = "\n"; chomp(my $line = $self->{in_c}->getline); my ($hex, $type, $size) = split(' ', $line); - return if $type eq 'missing'; - # "dead" in git.git shows "dangling 4\ndead\n", not sure why - # https://public-inbox.org/git/20190118033845.s2vlrb3wd3m2jfzu@dcvr/ - # so handle the oddball stuff just in case + # Future versions of git.git may show 'ambiguous', but for now, + # we must handle 'dangling' below (and maybe some other oddball + # stuff): + # https://public-inbox.org/git/20190118033845.s2vlrb3wd3m2jfzu@dcvr/T/ + return if $type eq 'missing' || $type eq 'ambiguous'; + if ($hex eq 'dangling' || $hex eq 'notdir' || $hex eq 'loop') { $size = $type + length("\n"); my $r = read($self->{in_c}, my $buf, $size); -- cgit v1.2.3-24-ge0c7