evolve: extract logic of pre-checking divergence risk to its own function
Extracting the logic (which is used to check if rewriting an obsolete
revision will create divergence) to a function. This function will be used
in upcoming patches of pre-checking.
This is how we check if rewriting an obsolete revision will create
divergence. We need to check two cases:
If there is any
1) non-obsolete successor.
-> easily done by `obsutil.successorssets()`
2) precursor with non-obsolete successor.
-> using `evolvecmd.divergentsets()`
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