hgext3rd/evolve/evolvecmd.py
changeset 3494 14cd04ff968e
parent 3493 4544067b831b
child 3495 a7cac3fcc49d
equal deleted inserted replaced
3493:4544067b831b 3494:14cd04ff968e
  1145             else:
  1145             else:
  1146                 obsolete.createmarkers(repo, [(ctx, (repo['.'],))])
  1146                 obsolete.createmarkers(repo, [(ctx, (repo['.'],))])
  1147             evolvestate['replacements'][ctx.node()] = node
  1147             evolvestate['replacements'][ctx.node()] = node
  1148             category = evolvestate['category']
  1148             category = evolvestate['category']
  1149             confirm = evolvestate['confirm']
  1149             confirm = evolvestate['confirm']
       
  1150             startnode = evolvestate['startnode']
  1150             unfi = repo.unfiltered()
  1151             unfi = repo.unfiltered()
  1151             for rev in evolvestate['revs']:
  1152             for rev in evolvestate['revs']:
  1152                 # XXX: prevent this lookup by storing nodes instead of revnums
  1153                 # XXX: prevent this lookup by storing nodes instead of revnums
  1153                 curctx = unfi[rev]
  1154                 curctx = unfi[rev]
  1154                 if curctx.node() not in evolvestate['replacements']:
  1155                 if curctx.node() not in evolvestate['replacements']:
  1155                     newnode = _solveone(ui, repo, curctx, evolvestate, False,
  1156                     newnode = _solveone(ui, repo, curctx, evolvestate, False,
  1156                                         confirm, progresscb, category)
  1157                                         confirm, progresscb, category)
  1157                     if newnode[0]:
  1158                     if newnode[0]:
  1158                         evolvestate['replacements'][curctx.node()] = newnode[1]
  1159                         evolvestate['replacements'][curctx.node()] = newnode[1]
       
  1160 
       
  1161             _cleanup(ui, repo, unfi[startnode], True)
  1159             evolvestate.delete()
  1162             evolvestate.delete()
  1160             return
  1163             return
  1161 
  1164 
  1162     cmdutil.bailifchanged(repo)
  1165     cmdutil.bailifchanged(repo)
  1163 
  1166 
  1171     # Order the revisions
  1174     # Order the revisions
  1172     if targetcat == 'orphan':
  1175     if targetcat == 'orphan':
  1173         revs = _orderrevs(repo, revs)
  1176         revs = _orderrevs(repo, revs)
  1174 
  1177 
  1175     stateopts = {'category': targetcat, 'replacements': {}, 'revs': revs,
  1178     stateopts = {'category': targetcat, 'replacements': {}, 'revs': revs,
  1176                  'confirm': confirmopt}
  1179                  'confirm': confirmopt, 'startnode': startnode.node()}
  1177     evolvestate.addopts(stateopts)
  1180     evolvestate.addopts(stateopts)
  1178     for rev in revs:
  1181     for rev in revs:
  1179         curctx = repo[rev]
  1182         curctx = repo[rev]
  1180         progresscb()
  1183         progresscb()
  1181         ret = _solveone(ui, repo, curctx, evolvestate, dryrunopt, confirmopt,
  1184         ret = _solveone(ui, repo, curctx, evolvestate, dryrunopt, confirmopt,