From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Jeremy Maitin-Shepard <jbms@cmu.edu>
Cc: Jeff King <peff@peff.net>, Junio C Hamano <gitster@pobox.com>,
"Shawn O. Pearce" <spearce@spearce.org>,
Nicolas Pitre <nico@cam.org>,
Brandon Casey <casey@nrlssc.navy.mil>,
Geert Bosch <bosch@adacore.com>,
git@vger.kernel.org
Subject: Re: git gc & deleted branches
Date: Sun, 11 May 2008 12:11:02 +0100 (BST) [thread overview]
Message-ID: <alpine.DEB.1.00.0805111204580.30431@racer> (raw)
In-Reply-To: <87prruxh3z.fsf@jeremyms.com>
Hi,
On Sat, 10 May 2008, Jeremy Maitin-Shepard wrote:
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
> > On Sat, 10 May 2008, Jeremy Maitin-Shepard wrote:
>
> >> Jeff King <peff@peff.net> writes:
> >>
> >> > On Fri, May 09, 2008 at 09:51:15PM -0400, Jeremy Maitin-Shepard
> >> > wrote:
>
> >> >> When you create a new working directory, you would also create in
> >> >> the original repository a symlink named e.g.
> >> >> orig_repo/.git/peers/<some-arbitrary-name-that-doesn't-matter>
> >> >> that points to the .git directory of the newly created working
> >> >> directory.
> >>
> >> > That assumes you _can_ write to the original repository. That may
> >> > or may not be the case, depending on your setup.
>
> > FWIW this argument can be found in the mailing list. It does not have
> > to be told over and over again, right?
>
> Maybe you can point me at the relevant thread. Fundamentally, though,
> I'd say objects/info/alternates _cannot_ work reliably without the
> source repository knowing about the objects that the sharing
> repositories need. Otherwise, there is no way for it to know not to
> prune them. The only way for it to have that information in general is
> to write it in the repository. In a site-specific setting, it may
> indeed be possible to rely on some site-specific database, but that is
> not particularly relevant.
>
> Currently repository sharing seems to be used in many cases in quite
> unsafe ways. It may seem unfortunate that doing things the "safe way"
> is much more of a hassle and doesn't work in certain environments, but
> I'd say that is just the way things have to be.
>
> Perhaps you can point me to an existing thread that addresses this idea,
> though.
Unfortunately, a quick search did not turn up anything useful. Maybe you
try your luck yourself...
> >> Well, I suppose in that case it could print a warning or maybe fail
> >> without some "force" option. If you can't write to the repository,
> >> then I think it is safe to say that it will never know or care about
> >> you, so you will fundamentally have a fragile setup. I'd say that
> >> except in very special circumstances, you are better off just not
> >> sharing it at all.
>
> > Counterexample kernel.org. Counterexample repo.or.cz.
>
> repo.or.cz is not a counterexample. It is completely "managed", and
> could quite easily implement the approach I described.
Half true... you said "if you can't write to the repository..." and on
repo.or.cz, the first part is true, the second part not.
> There is the issue that these setuid helper scripts would mean at the
> very least that if user A can "fork" user B's repository, then to some
> extent user B can make user A use large amounts of disk space (i.e.
> exceed his quota or something) by just referencing a bunch of temporary
> objects that user A happens to have in his repository, and it would take
> careful examination of the git repository to actually figure out that it
> is user B's fault. I don't think this would be a significant problem in
> practice, though.
Well, I think that the setuid helper script would open a whole bunch of
other issues.
I think that the shared repository problem is rather a semantic one, i.e.
it is only solvable between the owners of the repository by good-ole
talking, not something that can be solved by the tool (Git).
Ciao,
Dscho
next prev parent reply other threads:[~2008-05-11 11:12 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-08 17:45 git gc & deleted branches Guido Ostkamp
2008-05-08 18:39 ` Jeff King
2008-05-08 18:55 ` Guido Ostkamp
2008-05-08 20:07 ` Brandon Casey
2008-05-08 20:52 ` Guido Ostkamp
2008-05-08 21:01 ` Jeff King
2008-05-08 21:15 ` Nicolas Pitre
2008-05-08 21:17 ` Jeff King
2008-05-08 21:23 ` Brandon Casey
2008-05-08 21:31 ` Jeff King
2008-05-08 21:40 ` Brandon Casey
2008-05-08 21:44 ` Jeff King
2008-05-08 21:53 ` Brandon Casey
2008-05-08 22:48 ` Jeff King
2008-05-09 1:41 ` Brandon Casey
2008-05-09 3:21 ` Junio C Hamano
[not found] ` <ee63ef30805082105w7f04a2d1y65a4618aeb787cac@mail.gmail.com>
[not found] ` <7v1w4bb291.fsf@gitster.siamese.dyndns.org>
2008-05-10 3:32 ` Brandon Casey
2008-05-10 4:15 ` Brandon Casey
2008-05-10 4:01 ` [PATCH 0/3] leave unreferenced objects unpacked drafnel
2008-05-10 4:01 ` [PATCH 1/3] repack: modify behavior of -A option to " drafnel
2008-05-10 6:03 ` Jeff King
2008-05-11 1:10 ` Nicolas Pitre
2008-05-11 1:23 ` Junio C Hamano
2008-05-11 4:16 ` Brandon Casey
2008-05-11 4:51 ` Brandon Casey
2008-05-10 4:01 ` [PATCH 2/3] git-gc: always use -A when manually repacking drafnel
2008-05-10 4:01 ` [PATCH 3/3] builtin-gc.c: deprecate --prune, it now really has no effect drafnel
2008-05-09 4:19 ` git gc & deleted branches Jeff King
2008-05-09 15:00 ` Geert Bosch
2008-05-09 15:14 ` Brandon Casey
2008-05-09 15:53 ` Jeff King
2008-05-09 15:56 ` Brandon Casey
2008-05-09 16:12 ` Nicolas Pitre
2008-05-09 16:54 ` Brandon Casey
2008-05-09 22:33 ` Junio C Hamano
2008-05-09 23:09 ` [PATCH] Updating documentation to match Brandon Casey's proposed git-repack patch Chris Frey
2008-05-10 0:07 ` git gc & deleted branches Jeremy Maitin-Shepard
2008-05-10 0:20 ` Shawn O. Pearce
2008-05-10 0:43 ` Jeremy Maitin-Shepard
2008-05-10 1:21 ` Junio C Hamano
2008-05-10 1:51 ` Jeremy Maitin-Shepard
2008-05-10 5:25 ` Jeff King
2008-05-10 5:36 ` Jeremy Maitin-Shepard
2008-05-10 9:04 ` Johannes Schindelin
2008-05-10 16:24 ` Jeremy Maitin-Shepard
2008-05-11 11:11 ` Johannes Schindelin [this message]
2008-05-11 18:39 ` Junio C Hamano
2008-05-08 21:33 ` Guido Ostkamp
2008-05-08 20:56 ` Jeff King
2008-05-08 20:51 ` Jeff King
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=alpine.DEB.1.00.0805111204580.30431@racer \
--to=johannes.schindelin@gmx.de \
--cc=bosch@adacore.com \
--cc=casey@nrlssc.navy.mil \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jbms@cmu.edu \
--cc=nico@cam.org \
--cc=peff@peff.net \
--cc=spearce@spearce.org \
/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