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()