Mercurial > evolve
changeset 3320:360a543930c6
stablesort: stop recording jump type
There are no mature user of this "jump type" data and the current implementation
is known to be buggy. So we drop the logic for now. This will make on disk
storage simpler. The data will be reintroduced later
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 20 Dec 2017 12:36:45 +0100 |
parents | bacb44f4f33e |
children | 14024940f369 |
files | hgext3rd/evolve/stablesort.py |
diffstat | 1 files changed, 11 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext3rd/evolve/stablesort.py Wed Dec 20 12:29:02 2017 +0100 +++ b/hgext3rd/evolve/stablesort.py Wed Dec 20 12:36:45 2017 +0100 @@ -310,10 +310,6 @@ ' %s\n' % (first, second)) return second -JUMPSOFT = 1 # jump when a branch have been explored -JUMPHARD = 2 # jump because we reach the outside of the exclusive area -JUMPFINAL = 3 # jump because we are done sorting the exclusive area - class stablesortcache(object): def __init__(self): @@ -389,15 +385,15 @@ rev = current jumps = [] - def recordjump(source, destination, jumptype): - jump = (source, destination, jumptype) + def recordjump(source, destination): + jump = (source, destination) jumps.append(jump) process = self._process_exclusive_side for rev in process(lower_parent, higher_parent, cl, parents, tiebreaker, recordjump): yield rev - recordjump(rev, lower_parent, JUMPFINAL) + recordjump(rev, lower_parent) self._jumps[current] = jumps @@ -435,7 +431,7 @@ if 2 <= len(all_parents): max_parents = max(all_parents, key=tiebreaker) - jump_type = None + jump = False ready_parents = [p for p in all_parents if children[p].issubset(seen)] @@ -444,16 +440,16 @@ if (len(all_parents) != len(ready_parents) and max_parents not in ready_parents): - jump_type = JUMPSOFT + jump = True elif (len(ready_parents) != len(okay_parents) and max_parents not in okay_parents): - jump_type = JUMPHARD + jump = True elif not all_parents: - jump_type = JUMPSOFT + jump = True if not okay_parents: - if jump_type is None: - jump_type = JUMPSOFT + if jump is None: + jump = True if stack: next = stack.pop() else: @@ -464,8 +460,8 @@ lower_parent, higher_parent = sorted(ready_parents, key=tiebreaker) stack.append(lower_parent) next = higher_parent - if jump_type is not None and next is not None: - recordjump(current, next, jump_type) + if jump is not None and next is not None: + recordjump(current, next) current = next _methodmap = {