Mercurial > public > mercurial-scm > hg
diff mercurial/destutil.py @ 28266:de8b09482fb7
destutil: show message about other branch heads, even if on a closed head
Before this patch, bare "hg update" displays message below, if there
is at least one non-closed branch head other than current parent:
1. 'XX other heads for branch "BRANCH"' message, if current parent is
on a non-closed branch head
This suggests user to invoke "hg heads" or so for merging them.
2. no message, if current parent is on a closed branch head
At this patch, bare "hg update" might choose closed branch head
as update destination, and it causes this situation easily.
3. no message, otherwise (= current parent isn't on any branch head)
'XX other heads for branch "BRANCH"' should be displayed also in #2
case above, because user might overlook other non-closed branch heads.
This patch gets a list of all branch heads regardless of closed-ness
of it, and uses it (= 'allheads') to distinguish #1/#2 from #3 above.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Wed, 24 Feb 2016 23:00:33 +0900 |
parents | e333cea74741 |
children | 3f9e25a42e69 |
line wrap: on
line diff
--- a/mercurial/destutil.py Wed Feb 24 06:10:46 2016 +0900 +++ b/mercurial/destutil.py Wed Feb 24 23:00:33 2016 +0900 @@ -358,9 +358,10 @@ def _statusotherbranchheads(ui, repo): currentbranch = repo.dirstate.branch() + allheads = repo.branchheads(currentbranch, closed=True) heads = repo.branchheads(currentbranch) - if repo.revs('%ln and parents()', heads): - # we are on a head + if repo.revs('%ln and parents()', allheads): + # we are on a head, even though it might be closed otherheads = repo.revs('%ln - parents()', heads) if otherheads: ui.status(_('%i other heads for branch "%s"\n') %