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, |