Mercurial > hgsubversion
diff hgsubversion/util.py @ 805:a3f727c41c1d
Fix breakage introduced by discovery refactoring
author | Peter Arrenbrecht <peter.arrenbrecht@gmail.com> |
---|---|
date | Sat, 14 May 2011 21:44:07 +0200 |
parents | c32c92fdca5b |
children | ec074ebaa80f |
line wrap: on
line diff
--- a/hgsubversion/util.py +++ b/hgsubversion/util.py @@ -149,6 +149,24 @@ def outgoing_revisions(repo, reverse_map if sourcerev.node() != node.nullid: return outgoing_rev_hashes +def outgoing_common_and_heads(repo, reverse_map, sourcerev): + """Given a repo and an hg_editor, determines outgoing revisions for the + current working copy state. Returns a tuple (common, heads) like + discovery.findcommonoutgoing does. + """ + if sourcerev in reverse_map: + return ([sourcerev], [sourcerev]) # nothing outgoing + sourcecx = repo[sourcerev] + while (not sourcecx.node() in reverse_map + and sourcecx.node() != node.nullid): + ps = sourcecx.parents() + if len(ps) != 1: + raise hgutil.Abort("Sorry, can't find svn parent of a merge revision.") + sourcecx = ps[0] + if sourcecx.node() != node.nullid: + return ([sourcecx.node()], [sourcerev]) + return ([sourcerev], [sourcerev]) # nothing outgoing + def default_commit_msg(ui): return ui.config('hgsubversion', 'defaultmessage', '')