} elsif (m!^diff --git "?[^/]+/.+ "?[^/]+/.+\z!) {
# wait until "---" and "+++" to capture filenames
$in_diff = 1;
+ push @xnq, $_;
# traditional diff:
} elsif (m/^diff -(.+) (\S+) (\S+)$/) {
my ($opt, $fa, $fb) = ($1, $2, $3);
sub _msgmap_init ($) {
my ($self) = @_;
die "BUG: _msgmap_init is only for v1\n" if $self->{ibx}->version != 1;
- $self->{mm} //= eval {
+ $self->{mm} //= do {
require PublicInbox::Msgmap;
PublicInbox::Msgmap->new_file($self->{ibx}, 1);
};
push @cmd, "--$k=$v";
}
my $fh = $git->popen(@cmd, $range);
- my ($at, $ct, $stk, $cmt);
- while (<$fh>) {
+ my ($at, $ct, $stk, $cmt, $l);
+ while (defined($l = <$fh>)) {
return if $sync->{quit};
- if (/\A([0-9]+)-([0-9]+)-($OID)$/o) {
+ if ($l =~ /\A([0-9]+)-([0-9]+)-($OID)$/o) {
($at, $ct, $cmt) = ($1 + 0, $2 + 0, $3);
$stk //= PublicInbox::IdxStack->new($cmt);
- } elsif (/$del/) {
+ } elsif ($l =~ /$del/) {
my $oid = $1;
if ($D) { # reindex case
$D->{pack('H*', $oid)}++;
} else { # non-reindex case:
$stk->push_rec('d', $at, $ct, $oid, $cmt);
}
- } elsif (/$add/) {
+ } elsif ($l =~ /$add/) {
my $oid = $1;
if ($D) {
my $oid_bin = pack('H*', $oid);