Mercurial > public > mercurial-scm > hg-stable
diff tests/test-context.py.out @ 32551:bb628fc85b0e
test-context: add a case demonstrating manifest caching problem
This issue was discovered when testing absorb on Windows. What happens are:
1. ctx.p1().manifestctx gets cached.
let's call ctx.p1().manifestctx._revlog() "mrevlog1"
2. repo.manifestlog gets invalidated.
let's call repo.manifestlog._revlog "mrevlog2"
3. repo.commitctx(ctx)
commitctx uses ctx.p1().manifestctx and writes to "mrevlog1"
4. repo[n].manifest()
cannot find the manifest node in "mrevlog2"
This patch adds a test case to reproduce the issue.
author | Jun Wu <quark@fb.com> |
---|---|
date | Thu, 25 May 2017 17:06:32 -0700 |
parents | 59aec562a50b |
children | 6ae068f801e3 |
line wrap: on
line diff
--- a/tests/test-context.py.out Thu May 25 16:50:46 2017 +0200 +++ b/tests/test-context.py.out Thu May 25 17:06:32 2017 -0700 @@ -44,3 +44,9 @@ wcctx._status=<status modified=['bar-m'], added=['bar-a'], removed=[], deleted=[], unknown=[], ignored=[], clean=[]> <status modified=[], added=['bar-r'], removed=[], deleted=[], unknown=[], ignored=[], clean=['foo']> wcctx._status=<status modified=['bar-m'], added=['bar-a'], removed=[], deleted=[], unknown=[], ignored=[], clean=[]> +== commit with manifestlog invalidated +commit 1: 2efe531a913fa648867ab8824360371679d05a65 +commit 2: 2caca91f6362020334384ebe27bae67315298abf +cannot read data: LookupError('Q\xa3L\xa5Ou\x8f\xce8\xda<Q\x7f\x9f(\xc9;Li/', '00manifest.i', 'no node') +commit 3: abd6b0f49f338be22b094ef2b7425e8048f8337b +cannot read data: LookupError("\x82\x15\xb8\xd3\x85\xf6H'\x9cP'D\x97\x1e\xab\x98O\xbb\x05\x9d", '00manifest.i', 'no node')