tests/test-censor.t
changeset 47457 f8330a3fc39f
parent 47392 8089d0fa8400
child 48324 95ea181d9bdd
--- a/tests/test-censor.t	Sun Jun 20 23:05:58 2021 +0200
+++ b/tests/test-censor.t	Mon Jun 07 11:59:27 2021 +0200
@@ -1,4 +1,14 @@
 #require no-reposimplestore
+#testcases revlogv1 revlogv2
+
+#if revlogv2
+
+  $ cat >> $HGRCPATH <<EOF
+  > [experimental]
+  > revlogv2=enable-unstable-format-and-corrupt-my-data
+  > EOF
+
+#endif
 
   $ cat >> $HGRCPATH <<EOF
   > [extensions]
@@ -505,3 +515,51 @@
   new changesets e97f55b2665a (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg cat -r 0 target | head -n 10
+
+#if revlogv2
+
+Testing feature that does not work in revlog v1
+===============================================
+
+Censoring a revision that is used as delta base
+-----------------------------------------------
+
+  $ cd ..
+  $ hg init censor-with-delta
+  $ cd censor-with-delta
+  $ echo root > target
+  $ hg add target
+  $ hg commit -m root
+  $ B0=`hg id --debug -i`
+  $ for x in `"$PYTHON" $TESTDIR/seq.py 0 50000`
+  > do
+  >   echo "Password: hunter$x" >> target
+  > done
+  $ hg ci -m 'write a long file'
+  $ B1=`hg id --debug -i`
+  $ echo 'small change (should create a delta)' >> target
+  $ hg ci -m 'create a delta over the password'
+(should show that the last revision is a delta, not a snapshot)
+  $ B2=`hg id --debug -i`
+
+Make sure the last revision is a delta against the revision we will censor
+
+  $ hg debugdeltachain target -T '{rev} {chainid} {chainlen} {prevrev}\n'
+  0 1 1 -1
+  1 2 1 -1
+  2 2 2 1
+
+Censor the file
+
+  $ hg cat -r $B1 target | wc -l
+  50002 (re)
+  $ hg censor -r $B1 target
+  $ hg cat -r $B1 target | wc -l
+  0 (re)
+
+Check the children is fine
+
+  $ hg cat -r $B2 target | wc -l
+  50003 (re)
+
+#endif