evolve: fix confusion in branch heads checking logic when topic in play
To provide some context, when topics are in play the branchmap cache
we store contains the branch info of a rev as "branch:topic" format IIUC.
Assuming that is right, now in present code we don't actually cover
this part that "when looking for branch heads where we also have active
topic we should look for branch='branch_name:topic' instead".
And we get wrong branch heads as a result.
This patch make sure that we pass right candidate to find branch heads
using branchmap.branchheads() by overriding the localrepo.branchheads()
Changes in test file reflect the fixed behavior.
import hghave
@hghave.check("docgraph-ext", "Extension to generate graph from repository")
def docgraph():
try:
import hgext.docgraph
hgext.docgraph.cmdtable # trigger import
except ImportError:
try:
import hgext3rd.docgraph
hgext3rd.docgraph.cmdtable # trigger import
except ImportError:
return False
return True