# HG changeset patch # User Boris Feld # Date 1528239790 -7200 # Node ID 6a71324cb68ba7d5f174f1ddbc9513757a50b0fc # Parent da121c9dc0f27f0752814cd57db1ee840775cf49 shelve: handle shelved node on unfiltered repository To build a version of shelve that use hiding instead of stripping, we need shelve to be able to find these revisions. This it does not hurt the bundle version, so we introduce the necessary code in the relevant place. diff -r da121c9dc0f2 -r 6a71324cb68b hgext/shelve.py --- a/hgext/shelve.py Tue May 29 11:47:32 2018 +0200 +++ b/hgext/shelve.py Wed Jun 06 01:03:10 2018 +0200 @@ -160,10 +160,11 @@ btype = 'HG20' compression = 'BZ' - outgoing = discovery.outgoing(self.repo, missingroots=bases, + repo = self.repo.unfiltered() + + outgoing = discovery.outgoing(repo, missingroots=bases, missingheads=[node]) - cg = changegroup.makechangegroup(self.repo, outgoing, cgversion, - 'shelve') + cg = changegroup.makechangegroup(repo, outgoing, cgversion, 'shelve') bundle2.writebundle(self.ui, cg, self.fname, btype, self.vfs, compression=compression) @@ -762,6 +763,7 @@ def _unshelverestorecommit(ui, repo, basename): """Recreate commit in the repository during the unshelve""" + repo = repo.unfiltered() with ui.configoverride({('ui', 'quiet'): True}): shelvedfile(repo, basename, 'hg').applybundle() shelvectx = repo['tip'] @@ -961,6 +963,7 @@ if not shelvedfile(repo, basename, patchextension).exists(): raise error.Abort(_("shelved change '%s' not found") % basename) + repo = repo.unfiltered() lock = tr = None try: lock = repo.lock()