Mercurial > hg
changeset 44276:30862e226339
copies: avoid filtering by short-circuit dirstate-only copies earlier
The call to `y.ancestor(x)` triggered repo filtering, which we'd like
to avoid in the simple `hg status --copies` case.
Differential Revision: https://phab.mercurial-scm.org/D8071
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 04 Feb 2020 10:16:30 -0800 |
parents | 66dab0d9a78e |
children | 3245cdea2c63 |
files | mercurial/copies.py tests/test-repo-filters-tiptoe.t |
diffstat | 2 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/copies.py Tue Feb 04 10:14:44 2020 -0800 +++ b/mercurial/copies.py Tue Feb 04 10:16:30 2020 -0800 @@ -403,13 +403,15 @@ ) if x == y or not x or not y: return {} + if y.rev() is None and x == y.p1(): + if debug: + repo.ui.debug(b'debug.copies: search mode: dirstate\n') + # short-circuit to avoid issues with merge states + return _dirstatecopies(repo, match) a = y.ancestor(x) if a == x: if debug: repo.ui.debug(b'debug.copies: search mode: forward\n') - if y.rev() is None and x == y.p1(): - # short-circuit to avoid issues with merge states - return _dirstatecopies(repo, match) copies = _forwardcopies(x, y, match=match) elif a == y: if debug: