Augie Fackler <augie@google.com> [Sun, 25 Feb 2018 22:29:28 -0500] rev 36420
tests: add missing b prefixes in test-commit.t
# skip-blame just some b prefixes
Differential Revision: https://phab.mercurial-scm.org/D2436
Augie Fackler <augie@google.com> [Sun, 25 Feb 2018 22:28:52 -0500] rev 36419
commitextras: fix on Python 3 by using sysstrs for __dict__ ops
I'm dubious of the __dict__ shenanigans in use here, but lack the
enthusiasm for figuring out why that was done right now.
# skip-blame just some r prefixes
Differential Revision: https://phab.mercurial-scm.org/D2435
Augie Fackler <augie@google.com> [Sun, 25 Feb 2018 22:06:53 -0500] rev 36418
util: use pycompat.bytestr() instead of str()
This fixes at least some environment variable prints for util.system()
callers on Python 3. Yay!
Differential Revision: https://phab.mercurial-scm.org/D2434
Yuya Nishihara <yuya@tcha.org> [Wed, 21 Feb 2018 22:47:47 +0900] rev 36417
showconfig: allow multiple section.name selectors (
issue5797)
This seems useful and we can disambiguate the output format solely by the
type of the command arguments.
Yuya Nishihara <yuya@tcha.org> [Wed, 21 Feb 2018 23:02:39 +0900] rev 36416
showconfig: use set to filter sections and entry names
Before, an entry matching the specified section could be printed twice if the
selector wasn't unique.
"sections" and "items" are renamed because it's hard to distinguish "sections"
from the loop variable "section".
Yuya Nishihara <yuya@tcha.org> [Wed, 21 Feb 2018 22:20:27 +0900] rev 36415
util: factor out shellsplit() function
It turned out to be more than the simple posix=True|False flag, so let's
introduce a platform function. I also made it py3 ready.
Yuya Nishihara <yuya@tcha.org> [Fri, 23 Feb 2018 23:09:58 +0900] rev 36414
diff: do not split function name if character encoding is unknown
Only ASCII characters can be split reliably at any byte positions, so let's
just leave long multi-byte sequence long. It's probably less bad than putting
an invalid byte sequence into a diff.
This doesn't try to split the first ASCII slice from multi-byte sequence
because a combining character may follow.
Yuya Nishihara <yuya@tcha.org> [Sun, 25 Feb 2018 11:20:35 +0900] rev 36413
histedit: use repo.revs() instead of repo.set() where revisions are needed
Follows up
72da480db4a5. This is just a micro optimization, but looks slightly
nicer.
Yuya Nishihara <yuya@tcha.org> [Sun, 25 Feb 2018 11:13:01 +0900] rev 36412
acl: replace bare getpass.getuser() by platform function
Follows up
dbadf28d4db0. bytestr() shouldn't be applied here because getuser()
isn't guaranteed to be all in ASCII.
This change means GetUserNameA() is used on Windows, but that's probably
better than trying to get the current user name in UNIX way.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 24 Feb 2018 11:21:14 -0800] rev 36411
context: remove basectx.__int__ (API)
basectx is the only type in the repo having __int__ implemented.
This magic method can result in unexpected coercion. Furthermore,
having it implemented is wrong for some contexts, since rev() may
return None in some cases.
Previous commits removed known cases in core where contexts are
coerced to integers. So let's delete basectx.__int__.
This commit is a bit dangerous. While the test suite passes, there
are likely still some callers in core that rely on __int__ that
don't have test coverage. An alternative would be to issue a
deprecation warning and let this bake for a few releases.
.. api::
context.basectx no longer implements __int__. Context instances
will no longer cast to ints. Consumers should call ``ctx.rev()``
instead.
Differential Revision: https://phab.mercurial-scm.org/D2433
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 24 Feb 2018 11:17:10 -0800] rev 36410
patchbomb: resolve revs before evaluating %ld revset
Weaning off of basectx.__rev__.
Differential Revision: https://phab.mercurial-scm.org/D2432
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 24 Feb 2018 11:04:21 -0800] rev 36409
histedit: resolve revs before evaluating %ld revset
We want to stop relying on basectx.__int__. That means we can't
use the %ld revset operator with an iterable of contexts. So
we expand an iterable of contexts into a list of revs before calling
into the revset.
Perhaps it would be worthwhile to add a revset format operator
that recognizes context instances so we can just pass contexts
as revset arguments?
Differential Revision: https://phab.mercurial-scm.org/D2431
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 24 Feb 2018 11:20:24 -0800] rev 36408
split: use ctx.rev() instead of %d % ctx
And rename a variable for clarity while we're here.
This is part of our effort to wean off basectx.__int__.
Differential Revision: https://phab.mercurial-scm.org/D2430
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 24 Feb 2018 11:14:28 -0800] rev 36407
commands: use ctx.rev() instead of %d % ctx
Weaning off basectx.__int__.
Differential Revision: https://phab.mercurial-scm.org/D2429
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 24 Feb 2018 11:13:36 -0800] rev 36406
cmdutil: use ctx.rev() instead of %d % ctx
Weaning off basectx.__int__.
Differential Revision: https://phab.mercurial-scm.org/D2428
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 24 Feb 2018 11:07:07 -0800] rev 36405
rebase: use ctx.rev() instead of %d % ctx
Weaning away from basectx.__int__.
Differential Revision: https://phab.mercurial-scm.org/D2427