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
b7823bd59b078bfdf7ce9c208a4f9e3d470fa5c0: cleanupnodes: trust caller when "moves" is not None
Martin von Zweigbergk <martinvonz@google.com> - Wed, 21 Mar 2018 16:46:28 -0700 - rev 53620
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
cleanupnodes: trust caller when "moves" is not None If "moves" (indicating how to move bookmarks) is None, we fill it out based on "replacements" (indicating which obsmarkers to add). If "moves" is not None, we would still add items based on "replacements". This makes it impossible to pass "moves={}" and not move bookmarks, which surprised me. The only caller that currently passes a value for "moves" was the rebase extension and there we were already adding bookmark moves corresponding to obsmarker additions, so it should not be impacted. Differential Revision: https://phab.mercurial-scm.org/D5391
236af7cfa4c3dfe358ec4f0f4f1c9590298a200c: shelve: change transaction description from "commit" to "shelve"
Martin von Zweigbergk <martinvonz@google.com> - Wed, 05 Dec 2018 14:17:15 -0800 - rev 53619
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
shelve: change transaction description from "commit" to "shelve" "commit" was probably a copy&paste mistake. Differential Revision: https://phab.mercurial-scm.org/D5390
d7e44da4dc706e1755a02aab7452320a1c4a22d8: shelve: drop unnecessary backup of dirstate for phase-based case
Martin von Zweigbergk <martinvonz@google.com> - Wed, 05 Dec 2018 14:08:01 -0800 - rev 53618
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
shelve: drop unnecessary backup of dirstate for phase-based case Regular shelve has a hack using an uncommitted transaction that's then aborted at the end of the operation. It preserves the dirstate across the abort, however, by saving a backup copy of it. Phase-based shelve instead commits the transaction, so the hack shouldn't be necessary there. Differential Revision: https://phab.mercurial-scm.org/D5389
1b836cee2d9139e566df2e44ca7583557d35d2cf: tests: split test-shelve.t in two
Martin von Zweigbergk <martinvonz@google.com> - Wed, 05 Dec 2018 14:46:09 -0800 - rev 53617
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
tests: split test-shelve.t in two test-shelve.t dominated run time for all shelve tests. Before: # Ran 9 tests, 1 skipped, 0 failed. real 0m43.568s user 2m15.822s sys 0m40.857s After: # Ran 11 tests, 1 skipped, 0 failed. real 0m24.574s user 2m21.354s sys 0m40.435s Differential Revision: https://phab.mercurial-scm.org/D5388
74e3df7660521b6a180dca9c9c0d72b725e79d51: remotefilelog: rely on progress helper for keeping track of position
Martin von Zweigbergk <martinvonz@google.com> - Tue, 04 Dec 2018 22:16:13 -0800 - rev 53616
Push 1079 by gszorc@mozilla.com at Mon, 10 Dec 2018 19:44:59 +0000
remotefilelog: rely on progress helper for keeping track of position The progress helper class keeps track of its current position, so we don't need a "count" variable for that. Differential Revision: https://phab.mercurial-scm.org/D5386
(0) -30000 -10000 -300 -100 -50 -20 +20 +50 tip