obshashrange: test behavior in case of rollback
The cache should be properly invalidated.
--- a/tests/test-discovery-obshashrange.t Tue May 16 12:42:50 2017 +0200
+++ b/tests/test-discovery-obshashrange.t Tue May 16 12:45:08 2017 +0200
@@ -289,3 +289,65 @@
6 c8d03c1b5e94 5 1 6 446c2dc3bce5
7 f69452c5b1af 6 1 7 000000000000
+Recover after data stripping
+
+ $ hg pull
+ pulling from ssh://user@dummy/server
+ searching for changes
+ OBSEXC: looking for common markers in 8 nodes
+ adding changesets
+ adding manifests
+ adding file changes
+ added 1 changesets with 0 changes to 0 files
+ 1 new obsolescence markers
+ (run 'hg update' to get a working copy)
+ $ hg rollback
+ repository tip rolled back to revision 7 (undo pull)
+ $ hg debugobshashrange --subranges --rev 'heads(all())'
+ rev node index size depth obshash
+ 7 f69452c5b1af 0 7 7 000000000000
+ 5 45f8b879de92 0 6 6 b8a4206b0fc6
+ 3 2dc09a01254d 0 4 4 8932bf980bb4
+ 7 f69452c5b1af 4 3 7 000000000000
+ 3 2dc09a01254d 2 2 4 ce1937ca1278
+ 5 45f8b879de92 4 2 6 31fc49d36a59
+ 1 66f7d451a68b 0 2 2 327c7dd73d29
+ 6 c8d03c1b5e94 4 2 6 89755fd39e6d
+ 2 01241442b3c2 2 1 3 1ed3c61fb39a
+ 0 1ea73414a91b 0 1 1 000000000000
+ 3 2dc09a01254d 3 1 4 26f996446ecb
+ 5 45f8b879de92 5 1 6 1a0c08180b65
+ 1 66f7d451a68b 1 1 2 327c7dd73d29
+ 4 bebd167eb94d 4 1 5 b21465ecb790
+ 6 c8d03c1b5e94 5 1 6 446c2dc3bce5
+ 7 f69452c5b1af 6 1 7 000000000000
+ $ hg pull
+ pulling from ssh://user@dummy/server
+ searching for changes
+ OBSEXC: looking for common markers in 8 nodes
+ adding changesets
+ adding manifests
+ adding file changes
+ added 1 changesets with 0 changes to 0 files
+ 1 new obsolescence markers
+ (run 'hg update' to get a working copy)
+ $ hg debugobshashrange --subranges --rev 'heads(all())'
+ rev node index size depth obshash
+ 8 4de32a90b66c 0 8 8 c7f1f7e9925b
+ 5 45f8b879de92 0 6 6 b8a4206b0fc6
+ 3 2dc09a01254d 0 4 4 8932bf980bb4
+ 8 4de32a90b66c 4 4 8 c681c3e58c27
+ 3 2dc09a01254d 2 2 4 ce1937ca1278
+ 5 45f8b879de92 4 2 6 31fc49d36a59
+ 8 4de32a90b66c 6 2 8 033544c939f0
+ 1 66f7d451a68b 0 2 2 327c7dd73d29
+ 6 c8d03c1b5e94 4 2 6 89755fd39e6d
+ 2 01241442b3c2 2 1 3 1ed3c61fb39a
+ 0 1ea73414a91b 0 1 1 000000000000
+ 3 2dc09a01254d 3 1 4 26f996446ecb
+ 5 45f8b879de92 5 1 6 1a0c08180b65
+ 8 4de32a90b66c 7 1 8 033544c939f0
+ 1 66f7d451a68b 1 1 2 327c7dd73d29
+ 4 bebd167eb94d 4 1 5 b21465ecb790
+ 6 c8d03c1b5e94 5 1 6 446c2dc3bce5
+ 7 f69452c5b1af 6 1 7 000000000000