log: fix handling of root (or empty) path provided by matcher (
issue6478)
Since
27d6956d386b "match: use '' instead of '.' for root directory",
'.' should be translated to ''. We can't blame repo.file() about this because
an empty string is invalid as a file path, but I found at least two callers
(_makematcher() and revset.filelog()) would crash because of this path[0].
So let's make repo.file() accept an empty string. path[0] == b'/' wouldn't
work on Python 3 anyways.
tests: accept output changes by
33350debb480
Differential Revision: https://phab.mercurial-scm.org/D10067
test-copies: remove revision number from log
Differential Revision: https://phab.mercurial-scm.org/D10048
test-copies: add test chaining multiple merge
Right now, the copy tracing logic take the right decision for merges, but it
does not keep track of the right information about these decision and can fall
into later traps. We start with highlighting this possibility by adding new
tests, and we will fix them later.
Check the inline test documentation for details.
Differential Revision: https://phab.mercurial-scm.org/D9611
test-copies: add test chaining multiple merges
Right now, the copy tracing logic take the right decision for merges, but it
does not keep track of the right information about these decision and can fall
into later traps. We start with highlighting this possibility by adding new
tests, and we will fix them later.
Check the inline test documentation for details.
Differential Revision: https://phab.mercurial-scm.org/D9610
test-copies: add test chaining multiple merges
Right now, the copy tracing logic take the right decision for merges, but it
does not keep track of the right information about these decision and can fall
into later traps. We start with highlighting this possibility by adding new
tests, and we will fix them later.
Check the inline test documentation for details.
Differential Revision: https://phab.mercurial-scm.org/D9609
test-copies: add subcase titles for various "conflicting" information variant
This make the transitions between case clearer.
Differential Revision: https://phab.mercurial-scm.org/D10047
test-copies: improve description of the B+F case
This will make its role clearer.
Differential Revision: https://phab.mercurial-scm.org/D10046
test-copies: improve description of the C+H case
This will make its role clearer.
Differential Revision: https://phab.mercurial-scm.org/D10045
test-copies: improve description of the B+C "revert/restore" case
This will make its role clearer.
Differential Revision: https://phab.mercurial-scm.org/D10044