HomePhabricator

log: make -frREV PATH detect missing files before falling back to slow path

Authored by yuja.

Description

log: make -frREV PATH detect missing files before falling back to slow path

If -rREV isn't specified, "log --follow" would abort on nonexistent paths.
Let's implement this behavior for "-frREV" case as we have ctx.hasdir() now.
Otherwise "log -frREV PATH" would silently fall back to slow path and files
wouldn't be followed across renames.

The loop is quadratic (as before), but the size of the startctxs and
match.files() should be small in general.

Some tests are marked as BROKEN since file renames aren't tracked in the
slow path. This is a known limitation of the current history traversal
function.

Details

Committed
yujaFri, Sep 11, 6:23 PM
Parents
rHG07324227f6b7: log: fix -fr'wdir()' PATH to follow newly added file
Branches
Unknown
Tags
Unknown