diff options
Diffstat (limited to 'lib/PublicInbox')
-rw-r--r-- | lib/PublicInbox/SolverGit.pm | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/PublicInbox/SolverGit.pm b/lib/PublicInbox/SolverGit.pm index 39acbe41..24d9da2f 100644 --- a/lib/PublicInbox/SolverGit.pm +++ b/lib/PublicInbox/SolverGit.pm @@ -439,6 +439,9 @@ sub resolve_patch ($$) { # see if we can find the blob in an existing git repo: my $cur_want = $want->{oid_b}; + if ($self->{seen_oid}->{$cur_want}++) { + die "Loop detected solving $cur_want\n"; + } if (my $existing = solve_existing($self, $want)) { dbg($self, "found $cur_want in " . join("\n", $existing->[0]->pub_urls)); @@ -504,6 +507,7 @@ sub solve ($$$$$) { $self->{oid_want} = $oid_want; $self->{out} = $out; + $self->{seen_oid} = {}; $self->{tot} = 0; $self->{psgi_env} = $env; $self->{todo} = [ { %$hints, oid_b => $oid_want } ]; |