debugrename: don't require at least one path
I don't see a reason that it needs to require a path. Most commands
match everything when no paths are given, but here you have to do
something like `hg debugrename -r . .` (from the repo root) to match
everything.
Differential Revision: https://phab.mercurial-scm.org/D5948
revlog: use iterbytestr()
Otherwise we iterate over integers in Python 3 and the
character compare fails.
Differential Revision: https://phab.mercurial-scm.org/D5947
commit: respect ui.relative-paths
The command usually doesn't print any paths, but there are some
warnings and verbose messages that includes paths.
Differential Revision: https://phab.mercurial-scm.org/D5939
resolve: slightly simplify join expression by joining with empty strings
Differential Revision: https://phab.mercurial-scm.org/D5938
resolve: respect ui.relative-paths also for warning messages
I guess this should have been part of
72a9aacff645 (resolve: respect
ui.relative-paths, 2019-01-29).
Differential Revision: https://phab.mercurial-scm.org/D5937
addremove: respect ui.relative-paths
I previously changed these code paths while trying to not change any
behavior to avoid inconsistencies between them in the intermediate
commits. They're now all ready to be switched over to respecting
ui.relative-paths.
Differential Revision: https://phab.mercurial-scm.org/D5936
windows: use util.localpath for repo-relative paths in getuipathfn()
Now that we have a single place that translates from internal path
representation (slash-separated) to UI representation
(i.e. scmutil.getuipathfn()), let's switch that over to using
util.localpath for absolute paths. I don't expect any test impact on
Windows because we still respect ui.slash, which is set by the test
runner.
As Yuya pointed out,
a997163e7fae (status: extract helper for
producing relative or absolute path for UI, 2019-01-29) accidentally
changed to slash-separated paths on Windows because it used used to
use repo.pathto(f, cwd='') (which calls util.localpath()) and after
that patch it just prints the filename without any
transformation. This patch should fix that regression.
Differential Revision: https://phab.mercurial-scm.org/D5935
walkchangerevs: obey allfiles parameter when taking the slow path
When walkchangerevs sees that there's a pattern, it hits the slow
path. The slow path in turn reverts to the old dumb grep behaviour of
only looking at files changed at each revision. Therefore, a command
such as
hg grep -l --all-files '.*' 'glob:**'
would show you all the nonempty files touched by the current revision.
This modifies that behaviour to look at the manifest at each revision
instead of the changed files in case that --all-files was requested.
test: stabilize test-wireproto-exchangev2.t flaky output
When running the test suite with multiple processes, we often get flaky
outputs, like here: https://ci.octobus.net/job/MercurialPy2/267/console
```
- received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
add changeset
cd2534766bec
add changeset
e96ae20f4188
add changeset
caa2a465451d
+ received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
```
Instead of simply sorting the clone and pull output, I saved the output in a
separate file and checked the `received frame` messages on one side and then
the rest of the output on the other side. This way we conserve the order of
messages as it seems important.
Differential Revision: https://phab.mercurial-scm.org/D5897
zsh: fix `hg resolve` completion when in a subdirectory (
issue6067)
Differential Revision: https://phab.mercurial-scm.org/D5836