summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
a6f2d5b)
In some cases, a file may ping-pong between blob IDs in the same
message when reverts occur. So break out of this early.
This doesn't account for different abbreviations, but the
limited variations of abbreviations should alleviate the
problem.
# see if we can find the blob in an existing git repo:
my $cur_want = $want->{oid_b};
# 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));
if (my $existing = solve_existing($self, $want)) {
dbg($self, "found $cur_want in " .
join("\n", $existing->[0]->pub_urls));
$self->{oid_want} = $oid_want;
$self->{out} = $out;
$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 } ];
$self->{tot} = 0;
$self->{psgi_env} = $env;
$self->{todo} = [ { %$hints, oid_b => $oid_want } ];