--- a/hgext/evolve.py Sat Mar 12 13:59:07 2016 +0800
+++ b/hgext/evolve.py Thu Mar 17 09:39:35 2016 -0700
@@ -1454,9 +1454,14 @@
revs = repo.revs(targetcat+'()')
if revopt:
revs = scmutil.revrange(repo, revopt) & revs
- elif not anyopt and targetcat == 'unstable':
- revs = set(_aspiringdescendant(repo,
- repo.revs('(.::) - obsolete()::')))
+ elif not anyopt:
+ topic = getattr(repo, 'currenttopic', '')
+ if topic:
+ revs = repo.revs('topic(%s)', topic) & revs
+ elif targetcat == 'unstable':
+ revs = _aspiringdescendant(repo,
+ repo.revs('(.::) - obsolete()::'))
+ revs = set(revs)
if targetcat == 'divergent':
# Pick one divergent per group of divergents
revs = _dedupedivergents(repo, revs)