diff --git a/hgext3rd/fbamend/hiddenoverride.py b/hgext3rd/fbamend/hiddenoverride.py --- a/hgext3rd/fbamend/hiddenoverride.py +++ b/hgext3rd/fbamend/hiddenoverride.py @@ -50,9 +50,7 @@ node = content[offset:offset + 20] if not node: break - # remove unnecessary (non-obsoleted) nodes since pinnedrevs should only - # affect obsoleted revs. - if node in nodemap and unfi[node].obsolete(): + if node in nodemap: result.append(node) offset += 20 return result @@ -68,7 +66,7 @@ except Exception: pass # bookmarks - result.update(repo._bookmarks.values()) + result.update(repo.unfiltered()._bookmarks.values()) return result @contextlib.contextmanager @@ -102,6 +100,10 @@ nodes = set(orignodes) nodes |= set(newpin) nodes -= set(newunpin) + # remove unnecessary (non-obsoleted) nodes since pinnedrevs should only + # affect obsoleted revs. + obsoleted = repo.unfiltered().revs('obsolete()') + nodes = [n for n in nodes if n not in obsoleted] with util.atomictempfile(repo.svfs.join('obsinhibit')) as f: f.write(''.join(nodes))