[PATCH 3 of 4 stable] rbc: test case for incorrect and too aggressive invalidation of invalid caches

Mads Kiilerich mads at kiilerich.com
Mon Jul 18 16:27:03 EDT 2016


# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1468873424 -7200
#      Mon Jul 18 22:23:44 2016 +0200
# Branch stable
# Node ID 80b80af907493879cae865de643de827bda9fdd1
# Parent  28a03a9dc85d869d5a64edf99bb6f0e8eb0e616e
rbc: test case for incorrect and too aggressive invalidation of invalid caches

diff --git a/tests/test-branches.t b/tests/test-branches.t
--- a/tests/test-branches.t
+++ b/tests/test-branches.t
@@ -668,3 +668,36 @@ Test that cache files are created and gr
   0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
 
   $ cd ..
+
+Test for multiple incorrect branch cache entries:
+
+  $ hg init b
+  $ cd b
+  $ touch f
+  $ hg ci -Aqmf
+  $ echo >> f
+  $ hg ci -Amf
+  $ hg branch -q branch
+  $ hg ci -Amf
+
+  $ f --size --hexdump .hg/cache/rbc-*
+  .hg/cache/rbc-names-v1: size=14
+  0000: 64 65 66 61 75 6c 74 00 62 72 61 6e 63 68       |default.branch|
+  .hg/cache/rbc-revs-v1: size=24
+  0000: 66 e5 f5 aa 00 00 00 00 fa 4c 04 e5 00 00 00 00 |f........L......|
+  0010: 56 46 78 69 00 00 00 01                         |VFxi....|
+  $ : > .hg/cache/rbc-revs-v1
+
+  $ hg log -r "branch(null)&branch(branch)" --debug
+  rebuilding corrupted revision branch cache
+  rebuilding corrupted revision branch cache
+  truncating cache/rbc-revs-v1 to 8
+BUG: the cache was declared corrupt multiple times and not fully rebuilt:
+  $ f --size --hexdump .hg/cache/rbc-*
+  .hg/cache/rbc-names-v1: size=14
+  0000: 64 65 66 61 75 6c 74 00 62 72 61 6e 63 68       |default.branch|
+  .hg/cache/rbc-revs-v1: size=24
+  0000: 00 00 00 00 00 00 00 00 fa 4c 04 e5 00 00 00 00 |.........L......|
+  0010: 56 46 78 69 00 00 00 01                         |VFxi....|
+
+  $ cd ..


More information about the Mercurial-devel mailing list