hgext/evolve.py
changeset 1323 603104c880f7
parent 1322 f3e0686a63a1
child 1324 739208d1ee62
equal deleted inserted replaced
1322:f3e0686a63a1 1323:603104c880f7
  1256     allopt = opts['all']
  1256     allopt = opts['all']
  1257     startnode = repo['.']
  1257     startnode = repo['.']
  1258     dryrunopt = opts['dry_run']
  1258     dryrunopt = opts['dry_run']
  1259     confirmopt = opts['confirm']
  1259     confirmopt = opts['confirm']
  1260     ui.setconfig('ui', 'forcemerge', opts.get('tool', ''), 'evolve')
  1260     ui.setconfig('ui', 'forcemerge', opts.get('tool', ''), 'evolve')
       
  1261     troubled = set(repo.revs('troubled()'))
  1261 
  1262 
  1262     # Progress handling
  1263     # Progress handling
  1263     seen = 1
  1264     seen = 1
  1264     count = allopt and _counttroubled(ui, repo) or 1
  1265     count = allopt and len(troubled) or 1
  1265     showprogress = allopt
  1266     showprogress = allopt
  1266 
  1267 
  1267     def progresscb():
  1268     def progresscb():
  1268         if allopt:
  1269         if allopt:
  1269             ui.progress('evolve', seen, unit='changesets', total=count)
  1270             ui.progress('evolve', seen, unit='changesets', total=count)
  1315     elif 'divergent' in troubles:
  1316     elif 'divergent' in troubles:
  1316         return _solvedivergent(ui, repo, tro, dryrunopt, confirmopt,
  1317         return _solvedivergent(ui, repo, tro, dryrunopt, confirmopt,
  1317                                progresscb)
  1318                                progresscb)
  1318     else:
  1319     else:
  1319         assert False  # WHAT? unknown troubles
  1320         assert False  # WHAT? unknown troubles
  1320 
       
  1321 def _counttroubled(ui, repo):
       
  1322     """Count the amount of troubled changesets"""
       
  1323     troubled = set()
       
  1324     troubled.update(getrevs(repo, 'unstable'))
       
  1325     troubled.update(getrevs(repo, 'bumped'))
       
  1326     troubled.update(getrevs(repo, 'divergent'))
       
  1327     return len(troubled)
       
  1328 
  1321 
  1329 def _picknexttroubled(ui, repo, pickany=False, progresscb=None):
  1322 def _picknexttroubled(ui, repo, pickany=False, progresscb=None):
  1330     """Pick a the next trouble changeset to solve"""
  1323     """Pick a the next trouble changeset to solve"""
  1331     if progresscb: progresscb()
  1324     if progresscb: progresscb()
  1332     tro = _stabilizableunstable(repo, repo['.'])
  1325     tro = _stabilizableunstable(repo, repo['.'])