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
Thu, 24 Jan 2019 12:47:54 -0800 revpair: clarify check for empty revset
Martin von Zweigbergk <martinvonz@google.com> [Thu, 24 Jan 2019 12:47:54 -0800] rev 41370
revpair: clarify check for empty revset Differential Revision: https://phab.mercurial-scm.org/D5688
Thu, 24 Jan 2019 12:38:19 -0800 revpair: simplify revpair by always relying on smartset.first/last
Martin von Zweigbergk <martinvonz@google.com> [Thu, 24 Jan 2019 12:38:19 -0800] rev 41369
revpair: simplify revpair by always relying on smartset.first/last I thinkt the code was written the way it was because it comes from 97b2f26dfc43 (revpair: smartset compatibility, 2014-03-20) and the first/last methods came only later, in 228b0aafb1ce (smartset: add first and last methods, 2014-10-06). Differential Revision: https://phab.mercurial-scm.org/D5687
Fri, 18 Jan 2019 11:10:30 -0800 grep: use set instead of dict with dummy value
Martin von Zweigbergk <martinvonz@google.com> [Fri, 18 Jan 2019 11:10:30 -0800] rev 41368
grep: use set instead of dict with dummy value Differential Revision: https://phab.mercurial-scm.org/D5633
Thu, 06 Sep 2018 15:56:53 -0700 grep: don't look up copy info unless --follow is given
Martin von Zweigbergk <martinvonz@google.com> [Thu, 06 Sep 2018 15:56:53 -0700] rev 41367
grep: don't look up copy info unless --follow is given If no --follow was given, then the "copy" variable will become None. In that case we would still look up the copy information from the filelog and then ignore it. Let's avoid even looking it up. Differential Revision: https://phab.mercurial-scm.org/D5620
Thu, 17 Jan 2019 09:24:30 -0800 hghave: let OSError with ENOENT through like any other
Martin von Zweigbergk <martinvonz@google.com> [Thu, 17 Jan 2019 09:24:30 -0800] rev 41366
hghave: let OSError with ENOENT through like any other Before this patch, if we get an OSError with ENOENT, we would not re-raise it and would instead run into an undefined variable ("p") soon thereafter. Differential Revision: https://phab.mercurial-scm.org/D5631
Thu, 17 Jan 2019 09:17:12 -0800 cleanup: delete lots of unused local variables
Martin von Zweigbergk <martinvonz@google.com> [Thu, 17 Jan 2019 09:17:12 -0800] rev 41365
cleanup: delete lots of unused local variables These were found by IntelliJ. There are many more, but these seemed pretty safe. Differential Revision: https://phab.mercurial-scm.org/D5629
Mon, 24 Sep 2018 14:46:37 -0700 localrepo: use context manager for lock and transaction in commitctx()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 24 Sep 2018 14:46:37 -0700] rev 41364
localrepo: use context manager for lock and transaction in commitctx() Differential Revision: https://phab.mercurial-scm.org/D5624
Wed, 16 Jan 2019 17:34:59 -0800 localrepo: use context manager for locks in commit()
Martin von Zweigbergk <martinvonz@google.com> [Wed, 16 Jan 2019 17:34:59 -0800] rev 41363
localrepo: use context manager for locks in commit() Differential Revision: https://phab.mercurial-scm.org/D5623
Wed, 16 Jan 2019 17:33:47 -0800 localrepo: use context manager for transaction in commit()
Martin von Zweigbergk <martinvonz@google.com> [Wed, 16 Jan 2019 17:33:47 -0800] rev 41362
localrepo: use context manager for transaction in commit() A side-effect is that the transaction is released a little earlier, so the "commit message saved in ..." messages now comes after the "rollback completed" message. That seems slightly better to me. Differential Revision: https://phab.mercurial-scm.org/D5622
Wed, 16 Jan 2019 17:46:39 -0800 commit: print "commit message saved in" message also if bookmark update fails
Martin von Zweigbergk <martinvonz@google.com> [Wed, 16 Jan 2019 17:46:39 -0800] rev 41361
commit: print "commit message saved in" message also if bookmark update fails The bookmark update is done within the same transaction, so if fails, the commit will also be rolled back. I just happened to notice this while messing with this code; we have not had reports of crashing bookmark updates from our users. The same applies to the clearing of the merge state, although I don't think that's currently tied into the transaction. Differential Revision: https://phab.mercurial-scm.org/D5621
Thu, 17 Jan 2019 22:07:58 -0800 remotefilelog: remove pointless return statement from constructor
Martin von Zweigbergk <martinvonz@google.com> [Thu, 17 Jan 2019 22:07:58 -0800] rev 41360
remotefilelog: remove pointless return statement from constructor Differential Revision: https://phab.mercurial-scm.org/D5630
Tue, 15 Jan 2019 22:57:09 +0800 revset: support ranges in #generations relation
Anton Shestakov <av6@dwimlabs.net> [Tue, 15 Jan 2019 22:57:09 +0800] rev 41359
revset: support ranges in #generations relation
Thu, 24 Jan 2019 18:14:39 +0300 tests: fix module-import warnings in test-update-atomic.t
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 24 Jan 2019 18:14:39 +0300] rev 41358
tests: fix module-import warnings in test-update-atomic.t These were caught by test-check-module-imports.t on Python 3. This should also make python3-buildbot green again. Differential Revision: https://phab.mercurial-scm.org/D5674
Fri, 18 Jan 2019 19:28:31 +0530 py3: use dict.items() instead of dict.iteritems() in tests/test-lfs-server.t
Pulkit Goyal <pulkit@yandex-team.ru> [Fri, 18 Jan 2019 19:28:31 +0530] rev 41357
py3: use dict.items() instead of dict.iteritems() in tests/test-lfs-server.t dict.iteritems() is not present on Python 3. Differential Revision: https://phab.mercurial-scm.org/D5673
Fri, 18 Jan 2019 19:26:28 +0530 py3: add b'' prefixes in tests/test-lfs-serve.t
Pulkit Goyal <pulkit@yandex-team.ru> [Fri, 18 Jan 2019 19:26:28 +0530] rev 41356
py3: add b'' prefixes in tests/test-lfs-serve.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D5672
Thu, 24 Jan 2019 18:09:34 +0300 py3: add b'' prefixes in doc/check-seclevel.py
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 24 Jan 2019 18:09:34 +0300] rev 41355
py3: add b'' prefixes in doc/check-seclevel.py # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D5670
Thu, 24 Jan 2019 15:52:59 -0500 tests: remove some over-globbing in test-dispatch.t
Augie Fackler <augie@google.com> [Thu, 24 Jan 2019 15:52:59 -0500] rev 41354
tests: remove some over-globbing in test-dispatch.t Hilariously, this was exposed by Python 3 work. Differential Revision: https://phab.mercurial-scm.org/D5689
Thu, 24 Jan 2019 15:23:20 -0500 py3: port test-parseindex.t to Python 3
Augie Fackler <augie@google.com> [Thu, 24 Jan 2019 15:23:20 -0500] rev 41353
py3: port test-parseindex.t to Python 3 Differential Revision: https://phab.mercurial-scm.org/D5686
Thu, 24 Jan 2019 15:04:30 -0500 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com> [Thu, 24 Jan 2019 15:04:30 -0500] rev 41352
py3: almost fix test-trusted.py The test now only fails due to output format changes on the repr of mercurial.error.ParseError. I'm not really sure how to approach that for now. Differential Revision: https://phab.mercurial-scm.org/D5685
Fri, 25 Jan 2019 18:55:23 +0900 merge with stable
Yuya Nishihara <yuya@tcha.org> [Fri, 25 Jan 2019 18:55:23 +0900] rev 41351
merge with stable
Wed, 23 Jan 2019 07:49:36 -0500 rust-cpython: raising error.WdirUnsupported stable
Georges Racinet <georges.racinet@octobus.net> [Wed, 23 Jan 2019 07:49:36 -0500] rev 41350
rust-cpython: raising error.WdirUnsupported The Graph implementation of hg-cpython returns the appropriate error upon encounter with the working directory special revision number, and this gives us in particular a code path to test from test-rust-ancestors.py In the current implementation, the exception is actually raised from the iterator instantiation; we are nonetheless consuming the iterator in the test with `list()` in order not to depend on implementation details.
Wed, 23 Jan 2019 07:47:04 -0500 rust: error for WdirUnsupported with cpython conversion as exception stable
Georges Racinet <georges.racinet@octobus.net> [Wed, 23 Jan 2019 07:47:04 -0500] rev 41349
rust: error for WdirUnsupported with cpython conversion as exception This introduces WorkingDirectoryUnsupported as an enum variant of GraphError in the core and converts it to the expected `mercurial.error.WdirUnsupported`.
Wed, 23 Jan 2019 07:39:27 -0500 rust: working directory revision number constant stable
Georges Racinet <georges.racinet@octobus.net> [Wed, 23 Jan 2019 07:39:27 -0500] rev 41348
rust: working directory revision number constant This introduces the constant, but does not use it anywhere yet.
Thu, 24 Jan 2019 15:03:00 -0500 py3: fix test-update-atomic.t
Augie Fackler <augie@google.com> [Thu, 24 Jan 2019 15:03:00 -0500] rev 41347
py3: fix test-update-atomic.t The .replace('o', '') hack on oct() return value is required because: % python -c 'print(oct(10))' 012 % python3 -c 'print(oct(10))' 0o12 Differential Revision: https://phab.mercurial-scm.org/D5684
Thu, 24 Jan 2019 15:02:28 -0500 py3: fix test-newcgi.t
Augie Fackler <augie@google.com> [Thu, 24 Jan 2019 15:02:28 -0500] rev 41346
py3: fix test-newcgi.t Differential Revision: https://phab.mercurial-scm.org/D5683
Thu, 24 Jan 2019 14:12:00 -0500 py3: fix up test-encoding-align.t for python3
Augie Fackler <augie@google.com> [Thu, 24 Jan 2019 14:12:00 -0500] rev 41345
py3: fix up test-encoding-align.t for python3 I'm not super thrilled with how this reads, but the original didn't thrill me either. Differential Revision: https://phab.mercurial-scm.org/D5682
Thu, 24 Jan 2019 13:57:23 -0500 py3: these two casefolding tests pass for me on my Mac
Augie Fackler <augie@google.com> [Thu, 24 Jan 2019 13:57:23 -0500] rev 41344
py3: these two casefolding tests pass for me on my Mac I assume the buildbot didn't catch them because it's on a case-sensitive filesystem. Differential Revision: https://phab.mercurial-scm.org/D5681
Thu, 24 Jan 2019 13:54:45 -0500 py3: port test-bugzilla.t to Python 3
Augie Fackler <augie@google.com> [Thu, 24 Jan 2019 13:54:45 -0500] rev 41343
py3: port test-bugzilla.t to Python 3 Some assorted fixes required in the extension itself, all around bytes/str issues. Differential Revision: https://phab.mercurial-scm.org/D5680
Sun, 20 Jan 2019 21:49:58 -0800 uncommit: set dirstateparents from within _fixdirstate()
Martin von Zweigbergk <martinvonz@google.com> [Sun, 20 Jan 2019 21:49:58 -0800] rev 41342
uncommit: set dirstateparents from within _fixdirstate() It's now done in the same way for uncommit and unamend, so we can share the code. Differential Revision: https://phab.mercurial-scm.org/D5662
Sun, 20 Jan 2019 22:00:25 -0800 unamend: fix unamending of renamed rename
Martin von Zweigbergk <martinvonz@google.com> [Sun, 20 Jan 2019 22:00:25 -0800] rev 41341
unamend: fix unamending of renamed rename Before this patch, we were passing in the result of a status call for a different set of commits than what we calculated copies for, which seemed suspicous to me. The rewritten version gets status and copy information from the same sets of commits. Differential Revision: https://phab.mercurial-scm.org/D5661
(0) -30000 -10000 -3000 -1000 -300 -100 -48 +48 +100 +300 +1000 +3000 +10000 tip