git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Enrico Weigelt <enrico.weigelt@vnc.biz>
To: Michael J Gruber <git@drmicha.warpmail.net>
Cc: Andrew Ardill <andrew.ardill@gmail.com>,
	Javier Domingo <javierdo1@gmail.com>,
	git@vger.kernel.org, Sitaram Chamarty <sitaramc@gmail.com>
Subject: Re: Local clones aka forks disk size optimization
Date: Fri, 16 Nov 2012 19:04:35 +0100 (CET)	[thread overview]
Message-ID: <ccb8680a-97ad-4cf8-95d0-5e21f60494f4@zcs> (raw)
In-Reply-To: <50A622A9.4040709@drmicha.warpmail.net>


> Provide one "main" clone which is bare, pulls automatically, and is
> there to stay (no pruning), so that all others can use that as a
> reliable alternates source.

The problem here, IMHO, is the assumption, that the main repo will
never be cleaned up. But what to do if you dont wanna let it grow
forever ?

hmm, distributed GC is a tricky problem.

maybe it could be easier having two kind of alternates:

a) classical: gc+friends will drop local objects that are 
   already there
b) fallback: normal operations fetch objects if not accessible
   from anywhere else, but gc+friends do not skip objects from there.

And extend prune machinery to put some backup of the dropped objects
to some separate store.

This way we could use some kind of rotating archive:

* GC'ed objects will be stored in the backup repo for some while
* there are multiple active (rotating) backups kept for some time,
  each cycle, only the oldest one is dropped (and maybe objects
  in a newer backup are removed from the older ones)
* downstream repos must be synced often enough, so removed objects
  are fetched back from the backups early enough

You could see this as some heap:

* the currently active objects (directly referenced) are always
  on the top
* once they're not referenced, they sink a lever deeper
* when the're referenced again, they immediately jump up to the top
* at some point in time unreferenced objects sink too deep that
  they're dropped completely



cu
-- 
Mit freundlichen Grüßen / Kind regards 

Enrico Weigelt 
VNC - Virtual Network Consult GmbH 
Head Of Development 

Pariser Platz 4a, D-10117 Berlin
Tel.: +49 (30) 3464615-20
Fax: +49 (30) 3464615-59

enrico.weigelt@vnc.biz; www.vnc.de 

  reply	other threads:[~2012-11-16 18:04 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CALZVapmG+HL0SQx8zx=Cfz5pWv84hJq90x-7VdjA0m2Z4dC34A@mail.gmail.com>
2012-11-14 23:42 ` Fwd: Local clones aka forks disk size optimization Javier Domingo
2012-11-15  0:18   ` Andrew Ardill
2012-11-15  0:40     ` Javier Domingo
2012-11-15  0:53       ` Andrew Ardill
2012-11-15  1:15         ` Javier Domingo
2012-11-15  1:34           ` Andrew Ardill
2012-11-15  3:44             ` Sitaram Chamarty
2012-11-16 11:25               ` Michael J Gruber
2012-11-16 18:04                 ` Enrico Weigelt [this message]
2012-11-18 10:42                   ` Sitaram Chamarty
2012-11-18 17:02                     ` Enrico Weigelt
2012-11-16 14:55           ` Pyeron, Jason J CTR (US)
     [not found]   ` <CAKs0BQ7RyLZr+ZU=hAC4U7xXpE0+xvORTrvfzFYb6muA2TgM4Q@mail.gmail.com>
2012-11-18 17:18     ` Jörg Rosenkranz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ccb8680a-97ad-4cf8-95d0-5e21f60494f4@zcs \
    --to=enrico.weigelt@vnc.biz \
    --cc=andrew.ardill@gmail.com \
    --cc=git@drmicha.warpmail.net \
    --cc=git@vger.kernel.org \
    --cc=javierdo1@gmail.com \
    --cc=sitaramc@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).