4265bfb53dd3c8961993a8af8a41691bcf03d6d7: hgweb: register web.comparisoncontext to the config table stable
Matt Harbison <matt_harbison@yahoo.com> - Sun, 09 Dec 2018 23:48:50 -0500 - rev 53640
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
hgweb: register web.comparisoncontext to the config table This was caught in some server side logging added to debug py3 issues.
348352658e4b0b0206e04c9bccd27a036edd5584: py3: stop subscripting socket.error
Matt Harbison <matt_harbison@yahoo.com> - Sun, 09 Dec 2018 19:40:54 -0500 - rev 53639
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
py3: stop subscripting socket.error In 3.3 and later, this is now an alias for OSError. I hacked up the server code enough that I was able to trigger the exception handler in server.py from test-http-bundle1.t. Other instances of this either subscript through the `args` member, or reference the errno or strerror attributes. Note that on Windows, the errno value seems to reflect the Winsock error, so the various tests for EPIPE seem like they would always fail. But that seems to be the case in py2 as well.
44378796c5e5eec7bc3bc3881a0399c8050ec712: test: update test-logtoprocess.t to not requires less
Boris Feld <boris.feld@octobus.net> - Sun, 09 Dec 2018 16:49:55 +0100 - rev 53638
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
test: update test-logtoprocess.t to not requires less The test previously assumed that a working pager was present in the test environment. Update it to use the fakepager instead. Differential Revision: https://phab.mercurial-scm.org/D5399
07e181ed82efe7e4c61ea9dc0a58168cc81ba1c1: py3: quote several instances of $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com> - Sun, 09 Dec 2018 21:23:34 -0500 - rev 53637
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
py3: quote several instances of $PYTHON for Windows Python3 lives in Program Files by default. The last remaining unquoted instance is in test-hghave.t. I can't figure out how to quote that, as it either complains: 'c:\\Program' is not recognized as an internal or external command, operable program or batch file. or $TESTTMP.sh: line 22: "C:/Program Files/Python37/python.exe": $ENOENT$
1aedbf3ef3d128eae75381775cfdc52e033d6ff3: py3: adapt test-largefiles-wireproto.t to python3
Matt Harbison <matt_harbison@yahoo.com> - Sun, 09 Dec 2018 18:35:35 -0500 - rev 53636
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
py3: adapt test-largefiles-wireproto.t to python3
d3d52cc91e83c3f9200ecacb09ee4a64e04b12b5: py3: byteify test-push-race.t
Matt Harbison <matt_harbison@yahoo.com> - Sun, 09 Dec 2018 13:53:08 -0500 - rev 53635
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
py3: byteify test-push-race.t
f79659e1e50fdea654b5111285a4f816104d0b07: py3: convert filename to bytes in test-hardlinks.t
Matt Harbison <matt_harbison@yahoo.com> - Sun, 09 Dec 2018 13:33:36 -0500 - rev 53634
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
py3: convert filename to bytes in test-hardlinks.t Windows was complaining about passing str to CreateFileA() in win32.py.
109a267acc1efb3b279b6b244d548a0cd4fe5878: narrow: keep bookmarks temporarily stripped for as long as commits are
Martin von Zweigbergk <martinvonz@google.com> - Sat, 08 Dec 2018 23:41:54 -0800 - rev 53633
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
narrow: keep bookmarks temporarily stripped for as long as commits are The narrow extension also has support for shallowness and for inserting older commits on pull. It works by temporarily stripping newer commits, adding the older commits, then re-applying the stripped bundle. The regular Mercurial server uses that when you widen, although it shouldn't be necessary there. Our Google-internal server does it when the user requests an older commit. Our Google-internal tests fail since 7caf632e30c3 (filecache: unimplement __set__() and __delete__() (API), 2018-10-20). I haven't quite understood the problem, but it's related to the way we temporarily hide bookmarks while the commits they point to are stripped. When a transaction is started, Mercurial tries to read various things from the repo for the transaction summary. That leads to computation of hidden commits, which leads to an attempt to find commits pinned by bookmarks. This is the reason we temporarily hide the bookmarks. I think the aforementioned commit makes the restored bookmarks visible earlier than before (which seems like an improvement), so we can no longer incorrectly rely on the repo._bookmarks field being cached too long (IIUC). This patch makes it so we restore the temporarily hidden bookmarks only after the temporary bundle has been re-applied. It also adapts the code to update the repo.__bookmarks field using the pattern described in the aforementioned commit instead of writing directly to the fiels. I have spent many hours trying to understand what was going on here, but I still don't know if this can also happen without our custom server. So this patch unfortunately does not add any tests; I have only been able to test the fix using our Google-internal tests. Differential Revision: https://phab.mercurial-scm.org/D5398
0d50bfcd8f65f336aa21397cf58cc1d711b6ac2d: narrow: drop obsolete support for old Mercurial
Martin von Zweigbergk <martinvonz@google.com> - Sat, 08 Dec 2018 23:04:11 -0800 - rev 53632
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
narrow: drop obsolete support for old Mercurial Not needed since narrow is shipped with core. Differential Revision: https://phab.mercurial-scm.org/D5397
21e7c73af75f895b29a375c4d62b5f7a1e655cba: tests: test that narrow preserves bookmarks on widen
Martin von Zweigbergk <martinvonz@google.com> - Thu, 06 Dec 2018 10:15:41 -0800 - rev 53631
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
tests: test that narrow preserves bookmarks on widen When widening inserts older commits in the changelog, we have to preserve bookmarks so they are not removed by the call to repair.strip() we temporarily do. We didn't have any tests for that before. Differential Revision: https://phab.mercurial-scm.org/D5396
4edd427f34c14523647ef19fe9ba2bd8d939e87f: rebase: clarify that commits that become empty are skipped
Martin von Zweigbergk <martinvonz@google.com> - Fri, 07 Dec 2018 14:23:17 -0800 - rev 53630
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
rebase: clarify that commits that become empty are skipped Our message just said that it created no changes, but we didn't explicitly say that that meant that the the commit was not rebased. It also wasn't clear why it created no changes, so this patch also clarifies that that was because the changes were already in the destination. Differential Revision: https://phab.mercurial-scm.org/D5395
09680349cc2d9363bcd9b6bc7d9f865d69c14911: rebase: format commit in usual way when explaining that it became empty
Martin von Zweigbergk <martinvonz@google.com> - Fri, 07 Dec 2018 14:17:09 -0800 - rev 53629
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
rebase: format commit in usual way when explaining that it became empty We use the _ctxdesc() for other similar messages, so it seems we should use it here too. Differential Revision: https://phab.mercurial-scm.org/D5394
443eb4bc41af00cafefcf235f15bad24b1ea56a1: rust: propagate error of index_get_parents() properly
Yuya Nishihara <yuya@tcha.org> - Mon, 29 Oct 2018 21:50:53 +0900 - rev 53628
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
rust: propagate error of index_get_parents() properly Before, rustla_contains() would return 0 on error, and the exception would be cleared or noticed somewhere else. We need to propagate the error from AncestorsIterator up to the FFI surface.
54a60968f0aa7ee74fed464b832ab6d0bbf9af74: rust: look up HgRevlogIndex_GetParents() from symbol table
Yuya Nishihara <yuya@tcha.org> - Sun, 02 Dec 2018 22:20:38 +0900 - rev 53627
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
rust: look up HgRevlogIndex_GetParents() from symbol table And removes the unused index_get_parents_checked() function. I expect the Index struct will be turned into a pyobject type, though I haven't written any PoC-level patches yet.
b12700dd261f03071d7536c141d965a311615632: revlog: add public CPython function to get parent revisions
Yuya Nishihara <yuya@tcha.org> - Sun, 02 Dec 2018 22:10:37 +0900 - rev 53626
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
revlog: add public CPython function to get parent revisions Since this is a public function, it validates the input revision, and supports nullrev. index_get_parents_checked() will be replaced by this function.
18a8def6e1b58a642e83f7a47ecaabd6f14d4a33: revlog: rename indexType to HgRevlogIndex_Type as it's a global symbol
Yuya Nishihara <yuya@tcha.org> - Sun, 02 Dec 2018 21:41:24 +0900 - rev 53625
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
revlog: rename indexType to HgRevlogIndex_Type as it's a global symbol It follows the CPython naming convention, but uses Hg instead of Py.
aa76be85029bddab0db79f959527bde8255198c5: revlog: export symbol of indexType
Yuya Nishihara <yuya@tcha.org> - Sun, 02 Dec 2018 21:37:42 +0900 - rev 53624
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
revlog: export symbol of indexType The idea is to wrap the index object with rust-cpython. I haven't tried it, but it should be doable. We'll probably need a better interface than raw function pointers to do more in Rust.
67d20f62fd199d34f5c124398c1dd5797672e22a: setup: fix path of rust source dependencies
Yuya Nishihara <yuya@tcha.org> - Sun, 02 Dec 2018 21:33:43 +0900 - rev 53623
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
setup: fix path of rust source dependencies Appears that they were screwed up while moving the source files around. Since rust-direct-ffi sources are automatically added to the depends list, we only need to list hg-core sources.
2041991f1ce2e02ef58e39a3f0585e6949f0c6b7: rebase: remove now-unnecessary arguments to _abort()
Martin von Zweigbergk <martinvonz@google.com> - Sun, 04 Mar 2018 08:50:12 -0800 - rev 53622
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
rebase: remove now-unnecessary arguments to _abort() Since _abort() is now an instance method, we don't need to pass state that's available on "self". Differential Revision: https://phab.mercurial-scm.org/D5393
c8eb8d1fc6cfc8ca60d9b48904e5d26bc39ba00d: rebase: move abort() onto rebaseruntime
Martin von Zweigbergk <martinvonz@google.com> - Sun, 04 Mar 2018 08:41:29 -0800 - rev 53621
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
rebase: move abort() onto rebaseruntime The function depends on a lot of the state of rebaseruntime, so it makes sense for it to be an instance method. This will let us remove many of the arguments to the method. That will be done in a later patch. Differential Revision: https://phab.mercurial-scm.org/D5392
(0) -30000 -10000 -300 -100 -50 -20 +20 tip