largefiles: fix support for local largefiles while using share extension stable
authorHenrik Stuart <henriks@unity3d.com>
Tue, 07 Jun 2016 08:32:33 +0200
branchstable
changeset 29329 f359cdc91e21
parent 29323 d29cb5e735e9
child 29349 8bf84295e59b
child 29368 dd9175ca81dc
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.
hgext/largefiles/lfutil.py
tests/test-largefiles-cache.t
--- a/hgext/largefiles/lfutil.py	Thu Jun 02 17:11:32 2016 -0500
+++ b/hgext/largefiles/lfutil.py	Tue Jun 07 08:32:33 2016 +0200
@@ -204,7 +204,7 @@
     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)
 
--- a/tests/test-largefiles-cache.t	Thu Jun 02 17:11:32 2016 -0500
+++ b/tests/test-largefiles-cache.t	Tue Jun 07 08:32:33 2016 +0200
@@ -186,6 +186,10 @@
   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