git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Shawn Pearce <spearce@spearce.org>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v0 3/3] Bigfile: teach "git add" to send a large file straight to a pack
Date: Mon, 9 May 2011 07:05:00 -0700	[thread overview]
Message-ID: <BANLkTimo_D_s-=zjPAbStvETRh8d_Tpa_w@mail.gmail.com> (raw)
In-Reply-To: <1304844455-23570-4-git-send-email-gitster@pobox.com>

On Sun, May 8, 2011 at 01:47, Junio C Hamano <gitster@pobox.com> wrote:
> + * NEEDSWORK: This creates one packfile per large blob, because the
> + * caller immediately wants the result sha1, and fast-import can
> + * report the object name via marks mechanism only by closing the
> + * created packfile. We should instead add an internal "stuff objects
> + * into a single pack, all in non-delta representation, keeping track
> + * of only <object-name, offset> tuples in core" API, that keeps one
> + * append-only packfile open at a time.  Have the first call to this
> + * function open a packfile on demand, and make sure the caller calls
> + * another function in the API to close the packfile at end, at which
> + * point the in-core tuples of <object-name, offset> should be written
> + * out as a corresponding pack .idx file and the tentative .pack file
> + * renamed to the final name.

The other problem here is the caller cannot access the written objects
until the pack is closed. That is one of the things that has made
fast-import difficult for git-svn to use, because git-svn expects the
object to be available immediately. I assume that within a single git
add or git update-index process we don't need to worry about this, so
its probably a non-issue.

-- 
Shawn.

  parent reply	other threads:[~2011-05-09 14:08 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-08  8:47 [PATCH v0 0/3] git add a-Big-file Junio C Hamano
2011-05-08  8:47 ` [PATCH v0 1/3] index_fd(): turn write_object and format_check arguments into one flag Junio C Hamano
2011-05-08  8:47 ` [PATCH v0 2/3] index_fd(): split into two helper functions Junio C Hamano
2011-05-08  8:47 ` [PATCH v0 3/3] Bigfile: teach "git add" to send a large file straight to a pack Junio C Hamano
2011-05-08 10:19   ` Nguyen Thai Ngoc Duy
2011-05-08 17:37     ` Junio C Hamano
2011-05-09 22:04     ` [PATCH 0/4] convert.c clean-up Junio C Hamano
2011-05-09 22:04       ` [PATCH 1/4] convert: rename the "eol" global variable to "core_eol" Junio C Hamano
2011-05-09 22:04       ` [PATCH 2/4] convert: give saner names to crlf/eol variables, types and functions Junio C Hamano
2011-05-09 22:05       ` [PATCH 3/4] convert: make it safer to add conversion attributes Junio C Hamano
2011-05-09 22:05       ` [PATCH 4/4] convert: make it harder to screw up adding a conversion attribute Junio C Hamano
2011-05-10 12:59       ` [PATCH 0/4] convert.c clean-up Nguyen Thai Ngoc Duy
2011-05-10 14:09         ` Junio C Hamano
2011-05-09 14:05   ` Shawn Pearce [this message]
2011-05-09 15:58     ` [PATCH v0 3/3] Bigfile: teach "git add" to send a large file straight to a pack Junio C Hamano
2011-05-09 16:14       ` Junio C Hamano
2011-05-29 18:20   ` Ævar Arnfjörð Bjarmason
2011-05-29 20:29     ` Junio C Hamano

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='BANLkTimo_D_s-=zjPAbStvETRh8d_Tpa_w@mail.gmail.com' \
    --to=spearce@spearce.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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).