Sun, 01 Jul 2018 00:46:59 +0530 rebase: add a stateobj variable to rebaseruntime class
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 01 Jul 2018 00:46:59 +0530] rev 38516
rebase: add a stateobj variable to rebaseruntime class The stateobj variable is an object of state.cmdstate() and will be used in upcoming patches to clean up the logic a bit and also use cbor format to write data to rebasestate class. Differential Revision: https://phab.mercurial-scm.org/D3874
Sun, 01 Jul 2018 00:31:57 +0530 rebase: refactor logic to read rebasestate in a separate function
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 01 Jul 2018 00:31:57 +0530] rev 38515
rebase: refactor logic to read rebasestate in a separate function This will help us in plugging the use of state.cmdstate() to read rebasestate. Differential Revision: https://phab.mercurial-scm.org/D3873
Fri, 22 Jun 2018 00:07:22 +0100 revlog: reuse 'descendant' implemention in 'isancestor'
Boris Feld <boris.feld@octobus.net> [Fri, 22 Jun 2018 00:07:22 +0100] rev 38514
revlog: reuse 'descendant' implemention in 'isancestor' The two functions do the same thing, but one takes nodes while the other takes revs. Using one to implement the other make sense. We should probably cleanup the API at some point to avoid having so many similar functions. However, we focus on an efficient implementation for now.
Fri, 22 Jun 2018 00:05:20 +0100 revlog: efficient implementation of 'descendant'
Boris Feld <boris.feld@octobus.net> [Fri, 22 Jun 2018 00:05:20 +0100] rev 38513
revlog: efficient implementation of 'descendant' Iterating over descendants is costly, because there are no "parent -> children" pointers. Walking the other way around is much more efficient, especially on large repositories, where descendant walks can cost seconds. And the other hand, common ancestors code follows links in the right direction and has a compiled implementation. In real life usage, this saved up to 80s during some pull operations, where descendant test happens in extension code.
Thu, 21 Jun 2018 23:56:51 +0100 revlog: refactor out the rev-oriented part of commonancestorheads
Boris Feld <boris.feld@octobus.net> [Thu, 21 Jun 2018 23:56:51 +0100] rev 38512
revlog: refactor out the rev-oriented part of commonancestorheads We plan to use this in a function taking revs as argument. Round trips to nodes seem silly.
Thu, 21 Jun 2018 23:53:43 +0100 revlog: do inclusive descendant testing (API)
Boris Feld <boris.feld@octobus.net> [Thu, 21 Jun 2018 23:53:43 +0100] rev 38511
revlog: do inclusive descendant testing (API) In many other places, a revision is considered a descendant of itself. We update the behavior of `revlog.descendant()` to match this. (for example. `revlog.isancestor` does inclusive testing). No tests break, so it seems safe to do so. This will make it easier to use a more efficient implementation in a later changeset.
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -6 +6 +10 +30 +100 +300 +1000 +3000 +10000 tip