[PATCH 3 of 3 V2] rebase: use findmissingrevs to compute detach set
Siddharth Agarwal
sid0 at fb.com
Wed Nov 21 19:24:58 CST 2012
# HG changeset patch
# User Siddharth Agarwal <sid0 at fb.com>
# Date 1353547339 28800
# Node ID a06dfdf04f720fdff4b40b47c46967ae92076e72
# Parent 09b23b668aac8fa8a45e60a0c6dd0f9563ca1700
rebase: use findmissingrevs to compute detach set
diff -r 09b23b668aac -r a06dfdf04f72 hgext/rebase.py
--- a/hgext/rebase.py Wed Nov 21 17:21:45 2012 -0800
+++ b/hgext/rebase.py Wed Nov 21 17:22:19 2012 -0800
@@ -656,9 +656,12 @@
#
# The actual abort is handled by `defineparents`
if len(root.parents()) <= 1:
- # (strict) ancestors of <root> not ancestors of <dest>
- detachset = repo.revs('::%d - ::%d - %d', root, commonbase, root)
+ # ancestors of <root> not ancestors of <dest>
+ detachset = repo.changelog.findmissingrevs([commonbase.rev()],
+ [root.rev()])
state.update(dict.fromkeys(detachset, nullmerge))
+ # detachset can have root, and we definitely want to rebase that
+ state[root.rev()] = nullrev
return repo['.'].rev(), dest.rev(), state
def clearrebased(ui, repo, state, collapsedas=None):
More information about the Mercurial-devel
mailing list