Show More
@@ -184,7 +184,7 b' class shelvedstate(object):' | |||
|
184 | 184 | wctx = nodemod.bin(fp.readline().strip()) |
|
185 | 185 | pendingctx = nodemod.bin(fp.readline().strip()) |
|
186 | 186 | parents = [nodemod.bin(h) for h in fp.readline().split()] |
|
187 |
|
|
|
187 | nodestoprune = [nodemod.bin(h) for h in fp.readline().split()] | |
|
188 | 188 | branchtorestore = fp.readline().strip() |
|
189 | 189 | keep = fp.readline().strip() == cls._keep |
|
190 | 190 | except (ValueError, TypeError) as err: |
@@ -198,7 +198,7 b' class shelvedstate(object):' | |||
|
198 | 198 | obj.wctx = repo[wctx] |
|
199 | 199 | obj.pendingctx = repo[pendingctx] |
|
200 | 200 | obj.parents = parents |
|
201 |
obj. |
|
|
201 | obj.nodestoprune = nodestoprune | |
|
202 | 202 | obj.branchtorestore = branchtorestore |
|
203 | 203 | obj.keep = keep |
|
204 | 204 | except error.RepoLookupError as err: |
@@ -207,7 +207,7 b' class shelvedstate(object):' | |||
|
207 | 207 | return obj |
|
208 | 208 | |
|
209 | 209 | @classmethod |
|
210 |
def save(cls, repo, name, originalwctx, pendingctx, |
|
|
210 | def save(cls, repo, name, originalwctx, pendingctx, nodestoprune, | |
|
211 | 211 | branchtorestore, keep=False): |
|
212 | 212 | fp = repo.vfs(cls._filename, 'wb') |
|
213 | 213 | fp.write('%i\n' % cls._version) |
@@ -217,7 +217,7 b' class shelvedstate(object):' | |||
|
217 | 217 | fp.write('%s\n' % |
|
218 | 218 | ' '.join([nodemod.hex(p) for p in repo.dirstate.parents()])) |
|
219 | 219 | fp.write('%s\n' % |
|
220 |
' '.join([nodemod.hex(n) for n in |
|
|
220 | ' '.join([nodemod.hex(n) for n in nodestoprune])) | |
|
221 | 221 | fp.write('%s\n' % branchtorestore) |
|
222 | 222 | fp.write('%s\n' % (cls._keep if keep else cls._nokeep)) |
|
223 | 223 | fp.close() |
@@ -562,7 +562,7 b' def unshelveabort(ui, repo, state, opts)' | |||
|
562 | 562 | raise |
|
563 | 563 | |
|
564 | 564 | mergefiles(ui, repo, state.wctx, state.pendingctx) |
|
565 |
repair.strip(ui, repo, state. |
|
|
565 | repair.strip(ui, repo, state.nodestoprune, backup=False, | |
|
566 | 566 | topic='shelve') |
|
567 | 567 | finally: |
|
568 | 568 | shelvedstate.clear(repo) |
@@ -633,12 +633,12 b' def unshelvecontinue(ui, repo, state, op' | |||
|
633 | 633 | shelvectx = state.pendingctx |
|
634 | 634 | else: |
|
635 | 635 | # only strip the shelvectx if the rebase produced it |
|
636 |
state. |
|
|
636 | state.nodestoprune.append(shelvectx.node()) | |
|
637 | 637 | |
|
638 | 638 | mergefiles(ui, repo, state.wctx, shelvectx) |
|
639 | 639 | restorebranch(ui, repo, state.branchtorestore) |
|
640 | 640 | |
|
641 |
repair.strip(ui, repo, state. |
|
|
641 | repair.strip(ui, repo, state.nodestoprune, backup=False, topic='shelve') | |
|
642 | 642 | shelvedstate.clear(repo) |
|
643 | 643 | unshelvecleanup(ui, repo, state.name, opts) |
|
644 | 644 | ui.status(_("unshelve of '%s' complete\n") % state.name) |
@@ -690,9 +690,9 b' def _rebaserestoredcommit(ui, repo, opts' | |||
|
690 | 690 | except error.InterventionRequired: |
|
691 | 691 | tr.close() |
|
692 | 692 | |
|
693 |
|
|
|
694 | for rev in xrange(oldtiprev, len(repo))] | |
|
695 |
shelvedstate.save(repo, basename, pctx, tmpwctx, |
|
|
693 | nodestoprune = [repo.changelog.node(rev) | |
|
694 | for rev in xrange(oldtiprev, len(repo))] | |
|
695 | shelvedstate.save(repo, basename, pctx, tmpwctx, nodestoprune, | |
|
696 | 696 | branchtorestore, opts.get('keep')) |
|
697 | 697 | |
|
698 | 698 | repo.vfs.rename('rebasestate', 'unshelverebasestate') |
General Comments 0
You need to be logged in to leave comments.
Login now