# HG changeset patch # User Arseniy Alekseyev # Date 2022-05-04 16:40:23 # Node ID 77b5a190571cfbfc4d05997ab833281433008370 # Parent 72936be2a21bdaace4e087fd4582482762971790 censor: fix [hg update] away from a revision with censored files Differential Revision: https://phab.mercurial-scm.org/D12604 diff --git a/mercurial/filelog.py b/mercurial/filelog.py --- a/mercurial/filelog.py +++ b/mercurial/filelog.py @@ -202,10 +202,10 @@ class filelog(object): # for revisions with renames, we have to go the slow way node = self.node(rev) + if self.iscensored(rev): + return 0 if self.renamed(node): return len(self.read(node)) - if self.iscensored(rev): - return 0 # XXX if self.read(node).startswith("\1\n"), this returns (size+4) return self._revlog.size(rev) diff --git a/tests/test-censor2.t b/tests/test-censor2.t --- a/tests/test-censor2.t +++ b/tests/test-censor2.t @@ -19,5 +19,4 @@ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cat target $ hg update tip - abort: file censored data/target:b1c12cf98dc8 (known-bad-output !) - [255] + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved