summaryrefslogtreecommitdiff
path: root/tests/test-strip-cross.t
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-strip-cross.t')
-rw-r--r--tests/test-strip-cross.t143
1 files changed, 143 insertions, 0 deletions
diff --git a/tests/test-strip-cross.t b/tests/test-strip-cross.t
new file mode 100644
index 0000000..95bc17b
--- /dev/null
+++ b/tests/test-strip-cross.t
@@ -0,0 +1,143 @@
+test stripping of filelogs where the linkrev doesn't always increase
+
+ $ echo '[extensions]' >> $HGRCPATH
+ $ echo 'hgext.mq =' >> $HGRCPATH
+ $ hg init orig
+ $ cd orig
+ $ commit()
+ > {
+ > hg up -qC null
+ > count=1
+ > for i in "$@"; do
+ > for f in $i; do
+ > echo $count > $f
+ > done
+ > count=`expr $count + 1`
+ > done
+ > hg commit -qAm "$*"
+ > }
+
+2 1 0 2 0 1 2
+
+ $ commit '201 210'
+ $ commit '102 120' '210'
+ $ commit '021'
+ $ commit '201' '021 120'
+ $ commit '012 021' '102 201' '120 210'
+ $ commit 'manifest-file'
+ $ commit '102 120' '012 210' '021 201'
+ $ commit '201 210' '021 120' '012 102'
+ $ HGUSER=another-user; export HGUSER
+ $ commit 'manifest-file'
+ $ commit '012' 'manifest-file'
+ $ cd ..
+ $ hg clone -q -U -r -1 -r -2 -r -3 -r -4 -r -6 orig crossed
+ $ cd crossed
+ $ hg debugindex --manifest
+ rev offset length ..... linkrev nodeid p1 p2 (re)
+ 0 0 112 ..... 0 6f105cbb914d 000000000000 000000000000 (re)
+ 1 112 56 ..... 3 1b55917b3699 000000000000 000000000000 (re)
+ 2 168 123 ..... 1 8f3d04e263e5 000000000000 000000000000 (re)
+ 3 291 122 ..... 2 f0ef8726ac4f 000000000000 000000000000 (re)
+ 4 413 87 ..... 4 0b76e38b4070 000000000000 000000000000 (re)
+
+ $ for i in 012 021 102 120 201 210 manifest-file; do
+ > echo $i
+ > hg debugindex $i
+ > echo
+ > done
+ 012
+ rev offset length ..... linkrev nodeid p1 p2 (re)
+ 0 0 3 ..... 0 b8e02f643373 000000000000 000000000000 (re)
+ 1 3 3 ..... 1 5d9299349fc0 000000000000 000000000000 (re)
+ 2 6 3 ..... 2 2661d26c6496 000000000000 000000000000 (re)
+
+ 021
+ rev offset length ..... linkrev nodeid p1 p2 (re)
+ 0 0 3 ..... 0 b8e02f643373 000000000000 000000000000 (re)
+ 1 3 3 ..... 2 5d9299349fc0 000000000000 000000000000 (re)
+ 2 6 3 ..... 1 2661d26c6496 000000000000 000000000000 (re)
+
+ 102
+ rev offset length ..... linkrev nodeid p1 p2 (re)
+ 0 0 3 ..... 1 b8e02f643373 000000000000 000000000000 (re)
+ 1 3 3 ..... 0 5d9299349fc0 000000000000 000000000000 (re)
+ 2 6 3 ..... 2 2661d26c6496 000000000000 000000000000 (re)
+
+ 120
+ rev offset length ..... linkrev nodeid p1 p2 (re)
+ 0 0 3 ..... 1 b8e02f643373 000000000000 000000000000 (re)
+ 1 3 3 ..... 2 5d9299349fc0 000000000000 000000000000 (re)
+ 2 6 3 ..... 0 2661d26c6496 000000000000 000000000000 (re)
+
+ 201
+ rev offset length ..... linkrev nodeid p1 p2 (re)
+ 0 0 3 ..... 2 b8e02f643373 000000000000 000000000000 (re)
+ 1 3 3 ..... 0 5d9299349fc0 000000000000 000000000000 (re)
+ 2 6 3 ..... 1 2661d26c6496 000000000000 000000000000 (re)
+
+ 210
+ rev offset length ..... linkrev nodeid p1 p2 (re)
+ 0 0 3 ..... 2 b8e02f643373 000000000000 000000000000 (re)
+ 1 3 3 ..... 1 5d9299349fc0 000000000000 000000000000 (re)
+ 2 6 3 ..... 0 2661d26c6496 000000000000 000000000000 (re)
+
+ manifest-file
+ rev offset length ..... linkrev nodeid p1 p2 (re)
+ 0 0 3 ..... 3 b8e02f643373 000000000000 000000000000 (re)
+ 1 3 3 ..... 4 5d9299349fc0 000000000000 000000000000 (re)
+
+ $ cd ..
+ $ for i in 0 1 2 3 4; do
+ > hg clone -q -U --pull crossed $i
+ > echo "% Trying to strip revision $i"
+ > hg --cwd $i strip $i
+ > echo "% Verifying"
+ > hg --cwd $i verify
+ > echo
+ > done
+ % Trying to strip revision 0
+ saved backup bundle to $TESTTMP/0/.hg/strip-backup/*-backup.hg (glob)
+ % Verifying
+ checking changesets
+ checking manifests
+ crosschecking files in changesets and manifests
+ checking files
+ 7 files, 4 changesets, 15 total revisions
+
+ % Trying to strip revision 1
+ saved backup bundle to $TESTTMP/1/.hg/strip-backup/*-backup.hg (glob)
+ % Verifying
+ checking changesets
+ checking manifests
+ crosschecking files in changesets and manifests
+ checking files
+ 7 files, 4 changesets, 14 total revisions
+
+ % Trying to strip revision 2
+ saved backup bundle to $TESTTMP/2/.hg/strip-backup/*-backup.hg (glob)
+ % Verifying
+ checking changesets
+ checking manifests
+ crosschecking files in changesets and manifests
+ checking files
+ 7 files, 4 changesets, 14 total revisions
+
+ % Trying to strip revision 3
+ saved backup bundle to $TESTTMP/3/.hg/strip-backup/*-backup.hg (glob)
+ % Verifying
+ checking changesets
+ checking manifests
+ crosschecking files in changesets and manifests
+ checking files
+ 7 files, 4 changesets, 19 total revisions
+
+ % Trying to strip revision 4
+ saved backup bundle to $TESTTMP/4/.hg/strip-backup/*-backup.hg (glob)
+ % Verifying
+ checking changesets
+ checking manifests
+ crosschecking files in changesets and manifests
+ checking files
+ 7 files, 4 changesets, 19 total revisions
+