# HG changeset patch # User Henrik Stuart # Date 2016-06-07 06:32:33 # Node ID f359cdc91e21bb120d2c28049c403d995225ea70 # Parent d29cb5e735e952956f3820b0b303d06df5d90529 largefiles: fix support for local largefiles while using share extension Prior to revision 2a3f24786d09, largefiles were saved in the local repository, even if it was using the share extension. After that change, all largefiles are now stored in the shared repository. However, the backward compatibility for existing largefiles already placed in the local repository was never tested, and has been broken since. diff --git a/hgext/largefiles/lfutil.py b/hgext/largefiles/lfutil.py --- a/hgext/largefiles/lfutil.py +++ b/hgext/largefiles/lfutil.py @@ -204,7 +204,7 @@ def findstorepath(repo, hash): if instore(repo, hash): return (path, True) elif repo.shared() and instore(repo, hash, True): - return storepath(repo, hash, True) + return storepath(repo, hash, True), True return (path, False) 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 @@ -186,6 +186,10 @@ conditional above. src/.hg/largefiles/dirstate src/.hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020 +Verify that backwards compatibility is maintained for old storage layout + $ mv src/.hg/largefiles/$hash share_dst/.hg/largefiles + $ hg verify --quiet --lfa -R share_dst --config largefiles.usercache= + Inject corruption into the largefiles store and see how update handles that: $ cd src