# HG changeset patch # User Mads Kiilerich # Date 2015-10-23 19:27:29 # Node ID d881c072050a10cae0e530e0bff3abb6852991cd # Parent 27683c63f44cb58d02df2d4dc16f5ba3348d394c largefiles: test coverage of handling of store corruption This reveals that update might put a corrupted largefile in the working directory where it will show up as modified and ready for commit. diff --git a/tests/test-largefiles-cache.t b/tests/test-largefiles-cache.t --- a/tests/test-largefiles-cache.t +++ b/tests/test-largefiles-cache.t @@ -179,3 +179,25 @@ conditional above. $ find src/.hg/largefiles/* | egrep "(dirstate|$hash)" | sort src/.hg/largefiles/dirstate src/.hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020 + +Inject corruption into the largefiles store and see how update handles that: + + $ cd src + $ hg up -qC + $ cat large + modified + $ rm large + $ cat .hglf/large + e2fb5f2139d086ded2cb600d5a91a196e76bf020 + $ mv .hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020 .. + $ echo corruption > .hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020 +(the following update will put the corrupted file into the working directory +where it will show up as a change) + $ hg up -C + getting changed largefiles + 1 largefiles updated, 0 removed + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg st + M large + ? z + $ rm .hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020