git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jeff King <peff@peff.net>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: Jonathan Tan <jonathantanmy@google.com>,
	git@vger.kernel.org, gitster@pobox.com
Subject: Re: [WIP v2 2/2] pack-objects: support --blob-max-bytes
Date: Wed, 7 Jun 2017 05:44:40 -0400	[thread overview]
Message-ID: <20170607094440.vg5ogy4bp5kg53s3@sigill.intra.peff.net> (raw)
In-Reply-To: <20170602232508.GA21733@aiede.mtv.corp.google.com>

On Fri, Jun 02, 2017 at 04:25:08PM -0700, Jonathan Nieder wrote:

> > We have a name-hash cache extension in the bitmap file, but it doesn't
> > carry enough information to deduce the .git-ness of a file. I don't
> > think it would be too hard to add a "flags" extension, and give a single
> > bit to "this is a .git file".
> 
> A nicer approach IMHO is to include an extra bitmap, like the existing
> object-type bitmaps (see the dump_bitmap calls in
> bitmap_writer_finish).  This would would represent the set of all
> .git* blobs in the pack.

Yeah, it could be stored as a bitmap, which would be slightly smaller
(since it would be mostly 0's). I think either way it would need an
extension flag in the header to signal its presence.

Older versions of Git are OK with having flags they don't understand. I
know JGit used to complain about seeing a bitmap with unknown flags, but
I'm not sure if that is still the case.

> >                      If you're not just avoiding large blobs but trying
> > to get a narrow clone, you don't want the .git files from the
> > uninteresting parts of the tree.
> 
> This is something I've wondered about, too.  Part of the story is that
> we haven't started omitting trees, so there is already O(number of
> trees) objects being sent and some additional small blobs for .git*
> specials doesn't make it much worse.  Sending all .git* blobs keeps
> things simple since the server doesn't have to infer which .git* blobs
> are relevant to this client.
> 
> Longer term, we will likely want to allow clients to request omission
> of some trees, too.  Omitting the corresponding .git* files becomes
> more straightforward at that point.
> 
> Does that make sense?

Yeah, I agree we'd want to avoid the trees, too, in that case.

-Peff

  reply	other threads:[~2017-06-07  9:50 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-02  0:14 [WIP 0/2] Modifying pack-objects to support --blob-size-limit Jonathan Tan
2017-06-02  0:14 ` [WIP 1/2] pack-objects: rename want_.* to ignore_.* Jonathan Tan
2017-06-02  3:45   ` Junio C Hamano
2017-06-02  0:14 ` [WIP 2/2] pack-objects: support --blob-size-limit Jonathan Tan
2017-06-02  4:48   ` Junio C Hamano
2017-06-02 19:38 ` [WIP v2 0/2] Modifying pack objects to support --blob-max-bytes Jonathan Tan
2017-06-02 22:16   ` Jeff King
2017-06-05 17:35     ` Jonathan Tan
2017-06-07  9:46       ` Jeff King
2017-06-02 19:38 ` [WIP v2 1/2] pack-objects: rename want_.* to ignore_.* Jonathan Tan
2017-06-02 19:38 ` [WIP v2 2/2] pack-objects: support --blob-max-bytes Jonathan Tan
2017-06-02 22:26   ` Jeff King
2017-06-02 23:25     ` Jonathan Nieder
2017-06-07  9:44       ` Jeff King [this message]
2017-06-03 23:48     ` Junio C Hamano
2017-06-15 20:28     ` Jeff Hostetler
2017-06-15 21:03       ` Jonathan Tan

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=20170607094440.vg5ogy4bp5kg53s3@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jonathantanmy@google.com \
    --cc=jrnieder@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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).