Mon, 21 Jan 2019 23:08:31 -0800 largefiles: avoid walking full manifest
Martin von Zweigbergk <martinvonz@google.com> [Mon, 21 Jan 2019 23:08:31 -0800] rev 41400
largefiles: avoid walking full manifest When using treemanifest, diffs between two manifests can often be much cheaper than iterating the full manifests (because common subtrees are skipped). Differential Revision: https://phab.mercurial-scm.org/D5644
Fri, 25 Jan 2019 23:22:23 -0800 cleanup: use p1() instead of parents() when we only need the first parent
Martin von Zweigbergk <martinvonz@google.com> [Fri, 25 Jan 2019 23:22:23 -0800] rev 41399
cleanup: use p1() instead of parents() when we only need the first parent Differential Revision: https://phab.mercurial-scm.org/D5708
Fri, 25 Jan 2019 23:43:11 -0800 cleanup: use repo['.'] instead of repo[None].p1()
Martin von Zweigbergk <martinvonz@google.com> [Fri, 25 Jan 2019 23:43:11 -0800] rev 41398
cleanup: use repo['.'] instead of repo[None].p1() Differential Revision: https://phab.mercurial-scm.org/D5707
Fri, 25 Jan 2019 23:36:23 -0800 cleanup: use p1() and p2() instead of parents()[0] and parents()[1]
Martin von Zweigbergk <martinvonz@google.com> [Fri, 25 Jan 2019 23:36:23 -0800] rev 41397
cleanup: use p1() and p2() instead of parents()[0] and parents()[1] We have had these methods on both contexts and dirstate for a long time now. Differential Revision: https://phab.mercurial-scm.org/D5706
Mon, 21 Jan 2019 15:29:14 +0000 branchmap: rename partial -> bcache
Martijn Pieters <mj@octobus.net> [Mon, 21 Jan 2019 15:29:14 +0000] rev 41396
branchmap: rename partial -> bcache The name better reflects that we have a branchcache object here, even if at *some point* it is still being constructed. Differential Revision: https://phab.mercurial-scm.org/D5290
Mon, 21 Jan 2019 13:45:12 -0800 context: delete mistaken comment about return value of renamed()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 21 Jan 2019 13:45:12 -0800] rev 41395
context: delete mistaken comment about return value of renamed() The comment seems to think that the return value of renamed() is a tuple of source pathsx in the parents, but it's actually a pair of (rename source path, file nodeid). Differential Revision: https://phab.mercurial-scm.org/D5639
Tue, 15 Jan 2019 16:55:20 -0800 copies: get working copy parents from wctx, not dirstate, to make in-mem work
Martin von Zweigbergk <martinvonz@google.com> [Tue, 15 Jan 2019 16:55:20 -0800] rev 41394
copies: get working copy parents from wctx, not dirstate, to make in-mem work Before this patch, `run-tests.py test-rebase-conflicts.t --extra-config-opt rebase.experimental.inmemory=1` would have some lines that say "searching for copies back to rev 3" changed to "... rev 1". I don't know of a better way of testing this patch than doing that manually. There are many other differences, so we're not ready to use #testcases syntax on the entire test-rebase-conflicts.t yet. Differential Revision: https://phab.mercurial-scm.org/D5596
Tue, 15 Jan 2019 16:50:50 -0800 copies: pass contexts into _findlimit()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 15 Jan 2019 16:50:50 -0800] rev 41393
copies: pass contexts into _findlimit() Just a little refactoring to make the next patch simpler. Differential Revision: https://phab.mercurial-scm.org/D5595
Tue, 15 Jan 2019 11:16:42 -0800 copies: consider nullrev a common ancestor
Martin von Zweigbergk <martinvonz@google.com> [Tue, 15 Jan 2019 11:16:42 -0800] rev 41392
copies: consider nullrev a common ancestor I've seen many bugs in the git codebase that were caused by it not having a null revision and being forced to treat root commits differently. Mercurial has a null revision and I think it's generally a bug to treat it differently from other commits in graph algorithms. This effectively undoes 83cfa1baf8ad (copies: don't report copies with unrelated branch, 2010-01-01). The test cases that that commit added still passes. I suspect some other fix after that commit made it unnecessary. Differential Revision: https://phab.mercurial-scm.org/D5594
Thu, 17 Jan 2019 09:18:48 -0800 unshare: use context manager for locks
Martin von Zweigbergk <martinvonz@google.com> [Thu, 17 Jan 2019 09:18:48 -0800] rev 41391
unshare: use context manager for locks Differential Revision: https://phab.mercurial-scm.org/D5695
Fri, 25 Jan 2019 21:23:16 -0500 py3: new tests from the ratchet
Augie Fackler <augie@google.com> [Fri, 25 Jan 2019 21:23:16 -0500] rev 41390
py3: new tests from the ratchet Thanks to indygreg for doing the work on these! Differential Revision: https://phab.mercurial-scm.org/D5705
Sat, 26 Jan 2019 12:24:04 +0800 dagop: check if stopdepth is greater than or equal to maxlogdepth
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Jan 2019 12:24:04 +0800] rev 41389
dagop: check if stopdepth is greater than or equal to maxlogdepth Might prevent off-by-one errors.
Sat, 26 Jan 2019 12:21:20 +0800 revset: move dagop.maxlogdepth usage to generationsrel()
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Jan 2019 12:21:20 +0800] rev 41388
revset: move dagop.maxlogdepth usage to generationsrel() Not all subscript operations would want (maxlogdepth - 1) in place of None.
Sat, 26 Jan 2019 12:20:05 +0800 test-revset: check that #generations[1:-1] doesn't result in any errors
Anton Shestakov <av6@dwimlabs.net> [Sat, 26 Jan 2019 12:20:05 +0800] rev 41387
test-revset: check that #generations[1:-1] doesn't result in any errors
Fri, 25 Jan 2019 22:32:45 -0500 py3: fix a bytes/str mingling in test-install.t
Matt Harbison <matt_harbison@yahoo.com> [Fri, 25 Jan 2019 22:32:45 -0500] rev 41386
py3: fix a bytes/str mingling in test-install.t
Fri, 25 Jan 2019 21:19:51 -0500 tests: conditionalize Windows difference in test-dispatch.t
Matt Harbison <matt_harbison@yahoo.com> [Fri, 25 Jan 2019 21:19:51 -0500] rev 41385
tests: conditionalize Windows difference in test-dispatch.t The output matches the comment added 6 years ago in ef60083b5536, so I'm assuming that difference was the reason for the over-globbing removed in 93a7539a546e. There's still a bit of py3 instability here, but I assume those are just more Windows issues: @@ -95,7 +95,7 @@ [255] $ hg log -b --cwd=inexistent default - abort: $ENOENT$: 'inexistent' + abort: $ENOENT$: inexistent [255] $ hg log -b '--config=ui.traceback=yes' 2>&1 | grep '^Traceback' @@ -189,7 +189,7 @@ $ hg -R a archive '' abort: $ENOENT$: '' (no-windows !) - abort: $ENOTDIR$: '' (windows !) + abort: $ENOTDIR$ [255] #if no-outer-repo
Fri, 25 Jan 2019 16:00:34 -0800 util: cast memoryview to bytes
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Jan 2019 16:00:34 -0800] rev 41384
util: cast memoryview to bytes Python 3 uses readinto() instead of read() in places. And taking a slice of the buffer passed to readinto() will produce a memoryview. _writedata() then gets confused when testing for `b'\n' in data` because memoryview is an iterable over ints instead of 1 character bytes. We work around by casting a memoryview to bytes. Differential Revision: https://phab.mercurial-scm.org/D5704
Fri, 25 Jan 2019 15:36:55 -0800 tests: add b'' prefixes to ui.configbool() call
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Jan 2019 15:36:55 -0800] rev 41383
tests: add b'' prefixes to ui.configbool() call Otherwise the call fails due to using str on Python 3. # skip-blame: just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D5703
Fri, 25 Jan 2019 15:31:07 -0800 commands: check for modheads being None
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Jan 2019 15:31:07 -0800] rev 41382
commands: check for modheads being None Python 2 allows the > operator to be used with a None and an int. Python 3 does not. So we need to ensure the value isn't None before comparing with >. Differential Revision: https://phab.mercurial-scm.org/D5702
Fri, 25 Jan 2019 15:21:56 -0800 tests: add b'' when testing for tls1.2
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Jan 2019 15:21:56 -0800] rev 41381
tests: add b'' when testing for tls1.2 The dict keys are bytes. The test was always failing due to looking for a str key. skip-blame: just b'' prefix Differential Revision: https://phab.mercurial-scm.org/D5701
Fri, 25 Jan 2019 15:15:59 -0800 wireprotov2peer: make "received frame(...)" messages debug level
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Jan 2019 15:15:59 -0800] rev 41380
wireprotov2peer: make "received frame(...)" messages debug level We don't need to show these during --verbose, it's more of a debugging thing. Differential Revision: https://phab.mercurial-scm.org/D5700
Fri, 25 Jan 2019 15:09:08 -0800 tests: add optional setsockopt() output on Python 3
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Jan 2019 15:09:08 -0800] rev 41379
tests: add optional setsockopt() output on Python 3 Tests still don't pass. But this gets us a little closer. Differential Revision: https://phab.mercurial-scm.org/D5699
Fri, 25 Jan 2019 15:03:20 -0800 wireprotov2peer: rewrite character traversal to use slices
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Jan 2019 15:03:20 -0800] rev 41378
wireprotov2peer: rewrite character traversal to use slices Otherwise on Python 3 we iterate over integers instead of a bytes instance and the comparison fails. Differential Revision: https://phab.mercurial-scm.org/D5698
Fri, 25 Jan 2019 14:57:37 -0800 wireprotov2server: don't attempt to cast command name
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Jan 2019 14:57:37 -0800] rev 41377
wireprotov2server: don't attempt to cast command name I'm not sure why this was added. The command name should already be bytes. Differential Revision: https://phab.mercurial-scm.org/D5697
Fri, 25 Jan 2019 14:38:49 -0800 wireprotov2server: use pycompat.strkwargs when calling cachekeyfn
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 25 Jan 2019 14:38:49 -0800] rev 41376
wireprotov2server: use pycompat.strkwargs when calling cachekeyfn Differential Revision: https://phab.mercurial-scm.org/D5696
Thu, 17 Jan 2019 18:05:54 +0530 diffstat: make --git work properly on renames (issue6025)
Navaneeth Suresh <navaneeths1998@gmail.com> [Thu, 17 Jan 2019 18:05:54 +0530] rev 41375
diffstat: make --git work properly on renames (issue6025) `$ hg diff --stat --git` shows only the new filename on renames. I added the old filename also to the output to make it identical with the output of `$ git diff --stat`. Differential Revision: https://phab.mercurial-scm.org/D5628
Fri, 25 Jan 2019 09:50:23 -0800 cmdutil: drop obsolete comment about updating to '.'
Martin von Zweigbergk <martinvonz@google.com> [Fri, 25 Jan 2019 09:50:23 -0800] rev 41374
cmdutil: drop obsolete comment about updating to '.' Obsolete since cf68e2649e0a (status: advertise --abort instead of 'update -C .' to abort a merge, 2018-08-09) and 5b04b6204931 (status: advertise --abort instead of 'update -C .' to abort graft, 2018-08-09). Differential Revision: https://phab.mercurial-scm.org/D5694
Thu, 24 Jan 2019 16:30:30 -0800 mq: slightly simplify check for patched working copy
Martin von Zweigbergk <martinvonz@google.com> [Thu, 24 Jan 2019 16:30:30 -0800] rev 41373
mq: slightly simplify check for patched working copy Differential Revision: https://phab.mercurial-scm.org/D5693
Thu, 24 Jan 2019 16:25:19 -0800 localrepo: slightly simplify check for removed parents in _rollback()
Martin von Zweigbergk <martinvonz@google.com> [Thu, 24 Jan 2019 16:25:19 -0800] rev 41372
localrepo: slightly simplify check for removed parents in _rollback() Differential Revision: https://phab.mercurial-scm.org/D5692
Thu, 24 Jan 2019 16:16:10 -0800 transplant: use bailifchanged() instead of reimplementing it
Martin von Zweigbergk <martinvonz@google.com> [Thu, 24 Jan 2019 16:16:10 -0800] rev 41371
transplant: use bailifchanged() instead of reimplementing it Differential Revision: https://phab.mercurial-scm.org/D5691
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip