# HG changeset patch # User Pierre-Yves David # Date 1621620491 -7200 # Node ID 8089d0fa84001221865e735252dafec79bffac6f # Parent 33d6269103745797207bcd101eb5fc2dbe3272a2 censor: drop size limitation on the tombstone This limitation seems to date back from a previous implementation of censors, were the revision were censored" in place. For a long while the implementation actually involved rewriting the revlog before replacing the original data. So it looks like we can safely remove this limitation. The tests suite agrees. Differential Revision: https://phab.mercurial-scm.org/D10790 diff -r 33d626910374 -r 8089d0fa8400 mercurial/revlogutils/censor.py --- a/mercurial/revlogutils/censor.py Sat May 29 00:11:56 2021 +0200 +++ b/mercurial/revlogutils/censor.py Fri May 21 20:08:11 2021 +0200 @@ -29,11 +29,6 @@ censorrev = rl.rev(censornode) tombstone = storageutil.packmeta({b'censored': tombstone}, b'') - if len(tombstone) > rl.rawsize(censorrev): - raise error.Abort( - _(b'censor tombstone must be no longer than censored data') - ) - # Rewriting the revlog in place is hard. Our strategy for censoring is # to create a new revlog, copy all revisions to it, then replace the # revlogs on transaction close. diff -r 33d626910374 -r 8089d0fa8400 tests/test-censor.t --- a/tests/test-censor.t Sat May 29 00:11:56 2021 +0200 +++ b/tests/test-censor.t Fri May 21 20:08:11 2021 +0200 @@ -66,12 +66,6 @@ $ hg cat -r 0 target | head -n 10 Initially untainted file -Try to censor revision with too large of a tombstone message - - $ hg censor -r $C1 -t 'blah blah blah blah blah blah blah blah bla' target - abort: censor tombstone must be no longer than censored data - [255] - Censor revision with 2 offenses (this also tests file pattern matching: path relative to cwd case)