py3: add b'' to config options in test extension
# skip-blame because just b'' prefixes
Differential Revision: https://phab.mercurial-scm.org/D2272
manifest: add support for including directories outside narrowspec
When using tree manifests and the client doesn't have a directory, we
have two choices for what to do with "hg manifest" output: 1) ignore
the directory, and 2) include the directory (not files within it). For
"hg files", we decided to ignore the directories (and files) outside
the narrowspec.
If we choose to not include directories outside the narrowspec, then I
think we should also make sure we don't include files outside the
narrowspec. I also think we should add --outside-narrow flag (or other
name). Thus, whichever way we go, I think we should have a way of
displaying paths (files or directories) outside the narrowspec. For
that we'll need to handle the 't' flag that narrowhg uses, and that's
what this patch adds support for.
Differential Revision: https://phab.mercurial-scm.org/D2235
narrow: restrict manifest iteration by using manifest.walk(matcher)
This is only for root nodes, so it shouldn't really matter (they're
rarely huge), but seems cleaner.
Differential Revision: https://phab.mercurial-scm.org/D2234
narrow: only diff manifest part within narrowspec when generating changegroup
Since
959ebff3505a (manifest: add match argument to diff and
filesnotin, 2017-03-07), we have a more efficient way of diffing
manifests while applying a matcher. Let's use that while generating
narrowed changegroups, so we avoid diffing parts of the manifest that
don't match the narrowspec.
Differential Revision: https://phab.mercurial-scm.org/D2233
cmdutil: make node parameter of makefileobj() mandatory (API)
(repo, node) pair will be replaced with ctx, so makefilename() can be easily
ported to templater.
progress: use '%*d' to pad progress value
Follows up
7f5108e58083. The problem of '% Nd' is that ' ' means we want
{' ' or '-'} as a sign character. We should instead write '%Nd' to pad up
to N characters with space, and N can be '*'.