narrowrepo: filter() is a generator on py3, wrap in list()
Was at the top of Python 3 exceptions.
Differential Revision: https://phab.mercurial-scm.org/D2229
narrowcommands: use pycompat.{bytes,str}kwargs
Differential Revision: https://phab.mercurial-scm.org/D2228
debugcommands: mergestate version is an int, use %d on it
Differential Revision: https://phab.mercurial-scm.org/D2227
progress: use %d to format ints instead of %s
Due to behavioral changes between '% Ns' and '% Nd' this has some
unfortunate extra dancing. I'm not sure of a better way to solve this
problem.
Differential Revision: https://phab.mercurial-scm.org/D2226
progress: determine padding width portably
Differential Revision: https://phab.mercurial-scm.org/D2225
branchmap: wrap builtin exception in bytes for logging
Differential Revision: https://phab.mercurial-scm.org/D2224
remotenames: add three new revsets related to remotenames
This patch adds three new revsets 'remotenames', 'remotebookmarks' and
'remotebranches' which will return changesets which have remotenames,
remotebookmarks and remotebranches on them respectively.
The remotenames revset exist in hgremotenames extension and is moved from there
whereas rest of the two revsets are introduced in this patch.
hgremotenames: https://bitbucket.org/seanfarley/hgremotenames
Differential Revision: https://phab.mercurial-scm.org/D2002
convert: fix line ending of mapfile and commit.desc file
Follows up
42a393ea56d2. CRLF vs LF doesn't really matter as we do strip()
or rstrip() on read, but mixing them isn't nice. So let's restore the old
behavior.
I don't know whether CVS/Root, CVS/Repository, and ~/.cvspass are written
in native line ending, so I leave them read as binary files.
py3: port string formatting
`skipped` is a set of integer revs here. So cast integers to
strings using %d.
None doesn't cast to an empty string on Python 3. So use '' explicitly.
Differential Revision: https://phab.mercurial-scm.org/D2146
bdiff: write a native version of splitnewlines
./hg perfunidiff mercurial/manifest.py 0 --count 500 --profile before:
! wall 0.309280 comb 0.350000 user 0.290000 sys 0.060000 (best of 32)
./hg perfunidiff mercurial/manifest.py 0 --count 500 --profile after:
! wall 0.241572 comb 0.260000 user 0.240000 sys 0.020000 (best of 39)
so it's about 20% faster. I hate Python. I wish we could usefully
write this in Rust, but it doesn't look like that's realistic without
using the cpython crate, which I'd still like to avoid.
Differential Revision: https://phab.mercurial-scm.org/D1973