Mercurial > hg-stable
comparison hgext/shelve.py @ 20064:99c4b8f79324 stable
shelve: unshelve using an unfiltered repository
when evolve is enabled and a hidden obsolete changeset exists
in the repository, the strip during unshelve will fail due to
filtered revs. we use an unfiltered repository like to
repair.strip to strip the proper nodes.
author | David Soria Parra <davidsp@fb.com> |
---|---|
date | Thu, 07 Nov 2013 20:36:26 -0800 |
parents | 065e6f1c9259 |
children | b3483223f734 |
comparison
equal
deleted
inserted
replaced
20063:8a021cd38719 | 20064:99c4b8f79324 |
---|---|
608 | 608 |
609 # The transaction aborting will strip all the commits for us, | 609 # The transaction aborting will strip all the commits for us, |
610 # but it doesn't update the inmemory structures, so addchangegroup | 610 # but it doesn't update the inmemory structures, so addchangegroup |
611 # hooks still fire and try to operate on the missing commits. | 611 # hooks still fire and try to operate on the missing commits. |
612 # Clean up manually to prevent this. | 612 # Clean up manually to prevent this. |
613 repo.changelog.strip(oldtiprev, tr) | 613 repo.unfiltered().changelog.strip(oldtiprev, tr) |
614 | 614 |
615 unshelvecleanup(ui, repo, basename, opts) | 615 unshelvecleanup(ui, repo, basename, opts) |
616 finally: | 616 finally: |
617 if tr: | 617 if tr: |
618 tr.release() | 618 tr.release() |