hgext3rd/evolve/evolvecmd.py
changeset 3503 edabac9e9dc5
parent 3501 7c8150697810
child 3506 6b4272bbb65d
equal deleted inserted replaced
3502:8cf1020bd4f9 3503:edabac9e9dc5
  1142             # those cases
  1142             # those cases
  1143             if node is not None:
  1143             if node is not None:
  1144                 obsolete.createmarkers(repo, [(ctx, (repo[node],))])
  1144                 obsolete.createmarkers(repo, [(ctx, (repo[node],))])
  1145             else:
  1145             else:
  1146                 obsolete.createmarkers(repo, [(ctx, (repo['.'],))])
  1146                 obsolete.createmarkers(repo, [(ctx, (repo['.'],))])
  1147             evolvestate['replacements'][ctx.node()] = node
  1147 
  1148             category = evolvestate['category']
  1148             # make sure we are continuing evolve and not `hg next --evolve`
  1149             confirm = evolvestate['confirm']
  1149             if evolvestate['command'] == 'evolve':
  1150             startnode = evolvestate['startnode']
  1150                 evolvestate['replacements'][ctx.node()] = node
  1151             unfi = repo.unfiltered()
  1151                 category = evolvestate['category']
  1152             for rev in evolvestate['revs']:
  1152                 confirm = evolvestate['confirm']
  1153                 # XXX: prevent this lookup by storing nodes instead of revnums
  1153                 startnode = evolvestate['startnode']
  1154                 curctx = unfi[rev]
  1154                 unfi = repo.unfiltered()
  1155                 if (curctx.node() not in evolvestate['replacements'] and
  1155                 for rev in evolvestate['revs']:
  1156                     curctx.node() not in evolvestate['skippedrevs']):
  1156                     # XXX: prevent this lookup by storing nodes instead of revnums
  1157                     newnode = _solveone(ui, repo, curctx, evolvestate, False,
  1157                     curctx = unfi[rev]
  1158                                         confirm, progresscb, category)
  1158                     if (curctx.node() not in evolvestate['replacements'] and
  1159                     if newnode[0]:
  1159                         curctx.node() not in evolvestate['skippedrevs']):
  1160                         evolvestate['replacements'][curctx.node()] = newnode[1]
  1160                         newnode = _solveone(ui, repo, curctx, evolvestate, False,
  1161                     else:
  1161                                             confirm, progresscb, category)
  1162                         evolvestate['skippedrevs'].append(curctx.node())
  1162                         if newnode[0]:
  1163 
  1163                             evolvestate['replacements'][curctx.node()] = newnode[1]
  1164             _cleanup(ui, repo, unfi[startnode], True)
  1164                         else:
       
  1165                             evolvestate['skippedrevs'].append(curctx.node())
       
  1166 
       
  1167                 _cleanup(ui, repo, unfi[startnode], True)
  1165             evolvestate.delete()
  1168             evolvestate.delete()
  1166             return
  1169             return
  1167 
  1170 
  1168     cmdutil.bailifchanged(repo)
  1171     cmdutil.bailifchanged(repo)
  1169 
  1172 
  1179         revs = _orderrevs(repo, revs)
  1182         revs = _orderrevs(repo, revs)
  1180 
  1183 
  1181     # cbor does not know how to serialize sets, using list for skippedrevs
  1184     # cbor does not know how to serialize sets, using list for skippedrevs
  1182     stateopts = {'category': targetcat, 'replacements': {}, 'revs': revs,
  1185     stateopts = {'category': targetcat, 'replacements': {}, 'revs': revs,
  1183                  'confirm': confirmopt, 'startnode': startnode.node(),
  1186                  'confirm': confirmopt, 'startnode': startnode.node(),
  1184                  'skippedrevs': []}
  1187                  'skippedrevs': [], 'command': 'evolve'}
  1185     evolvestate.addopts(stateopts)
  1188     evolvestate.addopts(stateopts)
  1186     for rev in revs:
  1189     for rev in revs:
  1187         curctx = repo[rev]
  1190         curctx = repo[rev]
  1188         progresscb()
  1191         progresscb()
  1189         ret = _solveone(ui, repo, curctx, evolvestate, dryrunopt, confirmopt,
  1192         ret = _solveone(ui, repo, curctx, evolvestate, dryrunopt, confirmopt,