# HG changeset patch # User Pierre-Yves David # Date 1349711402 -7200 # Node ID 67c874d14c2c7154c4f554669075c920729d1880 # Parent cf91b36f368c1cea9a763095b6cc5202a436798e clfilter: use unfiltered repo for bookmark push logic The remote location of the bookmark may be filtered locally. This changeset ensures that bookmark movement logic has access to all the repo's content. diff -r cf91b36f368c -r 67c874d14c2c mercurial/localrepo.py --- a/mercurial/localrepo.py Mon Oct 08 17:26:23 2012 +0200 +++ b/mercurial/localrepo.py Mon Oct 08 17:50:02 2012 +0200 @@ -1861,6 +1861,7 @@ if not remote.canpush(): raise util.Abort(_("destination does not support push")) # get local lock as we might write phase data + unfi = self.unfiltered() locallock = self.lock() try: self.checkpush(force, revs) @@ -1869,7 +1870,6 @@ if not unbundle: lock = remote.lock() try: - unfi = self.unfiltered() # discovery fci = discovery.findcommonincoming commoninc = fci(unfi, remote, force=force) @@ -2012,12 +2012,12 @@ self.ui.debug("checking for updated bookmarks\n") rb = remote.listkeys('bookmarks') for k in rb.keys(): - if k in self._bookmarks: + if k in unfi._bookmarks: nr, nl = rb[k], hex(self._bookmarks[k]) - if nr in self: - cr = self[nr] - cl = self[nl] - if bookmarks.validdest(self, cr, cl): + if nr in unfi: + cr = unfi[nr] + cl = unfi[nl] + if bookmarks.validdest(unfi, cr, cl): r = remote.pushkey('bookmarks', k, nr, nl) if r: self.ui.status(_("updating bookmark %s\n") % k)