From: "Shawn O. Pearce" <spearce@spearce.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Theodore Tso <tytso@mit.edu>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Petr Baudis <pasky@suse.cz>,
git@vger.kernel.org
Subject: Re: repo.or.cz wishes?
Date: Fri, 31 Aug 2007 22:58:57 -0400 [thread overview]
Message-ID: <20070901025857.GD18160@spearce.org> (raw)
In-Reply-To: <alpine.LFD.0.999.0708291009570.25853@woody.linux-foundation.org>
Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Wed, 29 Aug 2007, Shawn O. Pearce wrote:
> >
> > Not if I already have a pointer from B to A's refs. repo.or.cz
> > also has this same pointer:
> >
> > git clone --shared A B
> > ln -s A/refs B/refs/forkee
>
> Now, this doesn't work well with packed refs, I'm afraid.
No, it doesn't work well. So I actually also avoid packing A's refs.
Which is yet another reason why my A's don't allow pushing, that
way nobody goes nuts and creates a ton of refs in there. With only
refs/heads/master and it being unpacked its not a big deal.
> So I suspect that if we really want to support something like this, we'd
> need to do more than just avoid the recursion when you cross-link.
Yes. I've been thinking about trying to better share the ODB and
the ref database between repositories, but it has been low priority
for me.
I rely on this ref symlinking/alternate ODB trick a lot at day-job
to help me cope with an ugly situation I created across a number of
repositories. Most of our codebase came from one Git repository,
but has been refactored and split into about 10 different Git
repositories. I did that refactoring by just cloning and deleting
the uninteresting content, so each repository actually has a huge
block of its history in common with the other 9.
One such A is "common-crap.git" that is the shared common history.
Since its strictly history nobody changes that repository, and
everyone borrows objects from it. This reduces my common working
set by about 900MiB, as the history lives in only one packfile and
not in 10.
There are obviously other ways to deal with this:
- start the 10 repositories over again and use info/grafts to
reinsert the old history when/if required;
- just hardlink the same .keep'd packfile into the 10 repositories,
since it is held by .keep it won't be touched during repack.
So one reason it has been low priority for me to improve upon is
because there's more than one way to solve the problem, and the
particular solution I have settled upon may not be the best solution
for anyone.
Though I think we can all agree that repo.or.cz's use of forks
is increasingly more popular, and one of the more powerful social
features of git. Better supporting it out of the box by making it
easier to setup and manage can only be a good thing for our users.
--
Shawn.
next prev parent reply other threads:[~2007-09-01 2:59 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-26 23:59 repo.or.cz wishes? Petr Baudis
2007-08-27 0:16 ` Sven Verdoolaege
2007-08-27 0:41 ` Petr Baudis
2007-08-27 18:23 ` Linus Torvalds
2007-08-27 18:58 ` Junio C Hamano
2007-08-27 19:09 ` Matthieu Moy
2007-08-27 20:05 ` Martin Mares
2007-08-27 21:27 ` Jing Xue
2007-08-27 22:27 ` Linus Torvalds
2007-08-27 22:58 ` Sam Vilain
2007-08-27 23:17 ` Linus Torvalds
2007-08-27 23:27 ` Jakub Narebski
2007-08-27 23:38 ` Linus Torvalds
2007-08-27 23:30 ` Sam Vilain
2007-08-27 23:34 ` Linus Torvalds
2007-08-27 23:16 ` Jakub Narebski
2007-08-27 21:58 ` Jakub Narebski
[not found] ` <20070828084939.GF1976MdfPADPa@greensroom.kotnet.org>
[not found] ` <200708282356.10605.jnareb@gmail.com>
2007-08-29 7:32 ` Sven Verdoolaege
2007-08-29 23:12 ` Jakub Narebski
2007-08-27 2:40 ` Sam Vilain
2007-08-27 8:35 ` Johannes Schindelin
[not found] ` <20070828041059.GK18160@spearce.org>
[not found] ` <20070828111913.GA31120@thunk.org>
[not found] ` <Pine.LNX.4.64.0708281230310.28586@racer.site>
[not found] ` <20070829042005.GT18160@spearce.org>
2007-08-29 9:54 ` Petr Baudis
[not found] ` <20070829041523.GS18160@spearce.org>
[not found] ` <7vr6lnszay.fsf@gitster.siamese.dyndns.org>
2007-08-29 9:58 ` Petr Baudis
2007-08-29 11:13 ` Theodore Tso
2007-08-31 21:09 ` Shawn O. Pearce
2007-08-29 17:11 ` Linus Torvalds
2007-09-01 2:58 ` Shawn O. Pearce [this message]
2007-08-27 19:49 ` Uwe Kleine-König
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=20070901025857.GD18160@spearce.org \
--to=spearce@spearce.org \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=pasky@suse.cz \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
/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).