[PATCH 07 of 17] rebase: instead of using > nullmerge, use the more meaningful >= nullrev
Mads Kiilerich
mads at kiilerich.com
Sun Nov 30 13:08:34 CST 2014
# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1417374421 -3600
# Sun Nov 30 20:07:01 2014 +0100
# Node ID 848717d552179b3679951aefc0b28235784471ba
# Parent 09fe6c1db24cc0c3fd3dceae4063c0a8dcbd11a5
rebase: instead of using > nullmerge, use the more meaningful >= nullrev
nullmerge is just a 'random' constant. It is more essential that nullrev comes
just before the 'real' revision numbers and that the other constants are
smaller.
diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -26,8 +26,8 @@ import os, errno
# state values:
# >= 0 means already rebased to this rev
# nullrev = -1 means 'todo'
-nullmerge = -2
-revignored = -3
+nullmerge = -2 # revision is ignored when rebasing, use target
+revignored = -3 # revision is ignored when rebasing, use nearest ancestor
cmdtable = {}
command = cmdutil.command(cmdtable)
@@ -447,14 +447,14 @@ def rebase(ui, repo, **opts):
else:
commitmsg = 'Collapsed revision'
for rebased in state:
- if rebased not in skipped and state[rebased] > nullmerge:
+ if rebased not in skipped and state[rebased] >= nullrev:
commitmsg += '\n* %s' % repo[rebased].description()
editopt = True
editor = cmdutil.getcommiteditor(edit=editopt, editform=editform)
newrev = concludenode(repo, rev, p1, external, commitmsg=commitmsg,
extrafn=extrafn, editor=editor)
for oldrev in state.iterkeys():
- if state[oldrev] > nullmerge:
+ if state[oldrev] >= nullrev:
state[oldrev] = newrev
if 'qtip' in repo.tags():
@@ -464,7 +464,7 @@ def rebase(ui, repo, **opts):
# Nodeids are needed to reset bookmarks
nstate = {}
for k, v in state.iteritems():
- if v > nullmerge:
+ if v >= nullrev:
nstate[repo[k].node()] = repo[v].node()
# XXX this is the same as dest.node() for the non-continue path --
# this should probably be cleaned up
@@ -628,7 +628,7 @@ def rebasenode(repo, rev, p1, state, col
def nearestrebased(repo, rev, state):
"""return the nearest ancestors of rev in the rebase result"""
- rebased = [r for r in state if state[r] > nullmerge]
+ rebased = [r for r in state if state[r] >= nullrev]
candidates = repo.revs('max(%ld and (::%d))', rebased, rev)
if candidates:
return state[candidates.first()]
@@ -751,7 +751,7 @@ def storestatus(repo, originalwd, target
f.write('%s\n' % (activebookmark or ''))
for d, v in state.iteritems():
oldrev = repo[d].hex()
- if v > nullmerge:
+ if v >= nullrev:
newrev = repo[v].hex()
else:
newrev = v
@@ -972,7 +972,7 @@ def clearrebased(ui, repo, state, skippe
if markers:
obsolete.createmarkers(repo, markers)
else:
- rebased = [rev for rev in state if state[rev] > nullmerge]
+ rebased = [rev for rev in state if state[rev] >= nullrev]
if rebased:
stripped = []
for root in repo.set('roots(%ld)', rebased):
More information about the Mercurial-devel
mailing list