[PATCH v2 stable] largefiles: fix support for local largefiles while using share extension

Augie Fackler raf at durin42.com
Thu Jun 9 23:30:11 EDT 2016


On Tue, Jun 07, 2016 at 08:39:15AM +0200, Henrik Stuart wrote:
> # HG changeset patch
> # User Henrik Stuart <henriks at unity3d.com>
> # Date 1465281153 -7200
> #      Tue Jun 07 08:32:33 2016 +0200
> # Branch stable
> # Node ID 29373afaa1799b3f3505c7ab738bd81b2155a77a
> # Parent  e82ca7d0967cd10d92562820297c3413abe6fc29
> largefiles: fix support for local largefiles while using share extension

Queued for stable, thanks.

>
> 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 @@
>      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 @@
>    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
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list