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.
--- a/tests/test-largefiles-cache.t Fri Oct 23 06:06:22 2015 -0400
+++ b/tests/test-largefiles-cache.t Fri Oct 23 21:27:29 2015 +0200
@@ -179,3 +179,25 @@
$ 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