Wed, 21 Feb 2018 22:20:27 +0900 util: factor out shellsplit() function
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.
Fri, 23 Feb 2018 23:09:58 +0900 diff: do not split function name if character encoding is unknown
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.
Sun, 25 Feb 2018 11:20:35 +0900 histedit: use repo.revs() instead of repo.set() where revisions are needed
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.
Sun, 25 Feb 2018 11:13:01 +0900 acl: replace bare getpass.getuser() by platform function
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.
Sat, 24 Feb 2018 11:21:14 -0800 context: remove basectx.__int__ (API)
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
Sat, 24 Feb 2018 11:17:10 -0800 patchbomb: resolve revs before evaluating %ld revset
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
Sat, 24 Feb 2018 11:04:21 -0800 histedit: resolve revs before evaluating %ld revset
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
Sat, 24 Feb 2018 11:20:24 -0800 split: use ctx.rev() instead of %d % ctx
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
Sat, 24 Feb 2018 11:14:28 -0800 commands: use ctx.rev() instead of %d % ctx
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
Sat, 24 Feb 2018 11:13:36 -0800 cmdutil: use ctx.rev() instead of %d % ctx
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
Sat, 24 Feb 2018 11:07:07 -0800 rebase: use ctx.rev() instead of %d % ctx
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
Sat, 24 Feb 2018 10:53:47 -0800 histedit: use ctx.rev() instead of %d % ctx
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 24 Feb 2018 10:53:47 -0800] rev 36404
histedit: use ctx.rev() instead of %d % ctx Weaning off basectx.__int__. Differential Revision: https://phab.mercurial-scm.org/D2426
Sat, 24 Feb 2018 10:56:15 -0800 histedit: rename variables so they have "ctx" in them
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 24 Feb 2018 10:56:15 -0800] rev 36403
histedit: rename variables so they have "ctx" in them It is convention for context instances to end with "ctx." Until we have type annotations, this makes auditing much, much easier. Differential Revision: https://phab.mercurial-scm.org/D2425
Sat, 24 Feb 2018 10:51:13 -0800 cmdutil: use ctx.rev() instead of int(ctx)
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 24 Feb 2018 10:51:13 -0800] rev 36402
cmdutil: use ctx.rev() instead of int(ctx) Continuing to wean off basectx.__int__. Differential Revision: https://phab.mercurial-scm.org/D2424
Sat, 24 Feb 2018 10:48:24 -0800 templatekw: use ctx.rev() instead of casting context to int
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 24 Feb 2018 10:48:24 -0800] rev 36401
templatekw: use ctx.rev() instead of casting context to int basectx has __int__ implemented. Per mailing list discussion with Yuya, we don't like having this implemented because it is too much magic and in some cases rev() will return None, which isn't an int. So convert a `'%d' % ctx` to ctx.rev() instead. Differential Revision: https://phab.mercurial-scm.org/D2423
Sat, 24 Feb 2018 16:18:40 +0530 py3: fix handling of keyword arguments at more places
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Feb 2018 16:18:40 +0530] rev 36400
py3: fix handling of keyword arguments at more places The keys of keyword arguments of Python 3 should be str, which is why we need to prevent getting the b'' prefix added by the transformer or convert keys to str using pycompat.strkwargs() Differential Revision: https://phab.mercurial-scm.org/D2420
Sat, 24 Feb 2018 16:16:14 +0530 py3: use '%d' for integers instead of '%s'
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Feb 2018 16:16:14 +0530] rev 36399
py3: use '%d' for integers instead of '%s' Differential Revision: https://phab.mercurial-scm.org/D2419
Sat, 24 Feb 2018 17:49:10 -0600 merge with stable
Kevin Bullock <kbullock+mercurial@ringworld.org> [Sat, 24 Feb 2018 17:49:10 -0600] rev 36398
merge with stable
Sat, 24 Feb 2018 16:20:55 +0530 py3: use '//' for integer division in hgweb/common.py
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Feb 2018 16:20:55 +0530] rev 36397
py3: use '//' for integer division in hgweb/common.py '/' on Python 3 does the float division. Differential Revision: https://phab.mercurial-scm.org/D2422
Sat, 24 Feb 2018 16:20:15 +0530 py3: use util.forcebytestr to convert error messages to bytes
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Feb 2018 16:20:15 +0530] rev 36396
py3: use util.forcebytestr to convert error messages to bytes Differential Revision: https://phab.mercurial-scm.org/D2421
Sat, 24 Feb 2018 16:15:16 +0530 py3: add b'' prefixes to config options in test/badserverext.py
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Feb 2018 16:15:16 +0530] rev 36395
py3: add b'' prefixes to config options in test/badserverext.py Differential Revision: https://phab.mercurial-scm.org/D2418
Sat, 24 Feb 2018 16:07:45 +0530 py3: replace file() with open()
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Feb 2018 16:07:45 +0530] rev 36394
py3: replace file() with open() file() is not present in Python 3. Differential Revision: https://phab.mercurial-scm.org/D2417
Sat, 24 Feb 2018 16:06:21 +0530 py3: make sure regexes are bytes
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Feb 2018 16:06:21 +0530] rev 36393
py3: make sure regexes are bytes # skip-blame because we added just b'' prefix Differential Revision: https://phab.mercurial-scm.org/D2416
Sat, 24 Feb 2018 16:04:57 +0530 py3: convert dict.items() to list explicitly
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Feb 2018 16:04:57 +0530] rev 36392
py3: convert dict.items() to list explicitly On python 3, dict.items() returns a dict_items object which cannot be sorted. Differential Revision: https://phab.mercurial-scm.org/D2415
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -24 +24 +50 +100 +300 +1000 +3000 +10000 tip