Re: How de-duplicate similar repositories with alternates
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Nov 29, 2018, 20:10 UTC
- Message-ID
- <87r2f3y7a9.fsf@evledraar.gmail.com>
- In-Reply-To
- <CAGZ79ka1sjU+rHctRP4SVMP0GQsK2iZghkU46=f96ugqvX5Neg@mail.gmail.com>
On Thu, Nov 29 2018, Stefan Beller wrote:
Show 20 quoted lines
> On Thu, Nov 29, 2018 at 7:00 AM Ævar Arnfjörð Bjarmason > <avarab@gmail.com> wrote: >> >> A co-worker asked me today how space could be saved when you have >> multiple checkouts of the same repository (at different revs) on the >> same machine. I said since these won't block-level de-duplicate well[1] >> one way to do this is with alternates. > > Another way is to use git-worktree, which would solve the gc issues > mentioned below? > > I view alternates as a historic artefact as the deduping > of objects client side can be done using worktrees, and on the > serverside - I think - most of the git hosters use namespaces > and put a fork network into the same repository and use pack islands. > > Can you elaborate on why worktrees would not solve the problem? > (I initially was hesitant to use them as I liked going into .git and tempering > with files such as the config directly. But now I cannot `cd .git` any more; > it turns out the advantages outweigh this corner case that I was attached to)
This was discussed recently on-list & I chimed in with details about that here: https://public-inbox.org/git/87po1waqyc.fsf@evledraar.gmail.com/ & https://public-inbox.org/git/87muwzc2kv.fsf@evledraar.gmail.com/
In particular the "multiple devs" use-case described in the latter E-Mail is what I have in mind. Worktrees are inherently unsuitable for that.