From: Jonathan Tan <jonathantanmy@google.com>
To: git@vger.kernel.org
Cc: Jonathan Tan <jonathantanmy@google.com>
Subject: [RFC PATCH 0/3] Partial clone: promised blobs (formerly "missing blobs")
Date: Tue, 11 Jul 2017 12:48:29 -0700 [thread overview]
Message-ID: <cover.1499800530.git.jonathantanmy@google.com> (raw)
These patches are part of a set of patches implementing partial clone,
as you can see here:
https://github.com/jonathantanmy/git/tree/partialclone
In that branch, clone with batch checkout works, as you can see in the
README. The code and tests are generally done, but some patches are
still missing documentation and commit messages.
These 3 patches implement the foundational concept - formerly known as
"missing blobs" in the "missing blob manifest", I decided to call them
"promised blobs". The repo knows their object names and sizes. It also
does not have the blobs themselves, but can be configured to know how to
fetch them.
An older version of these patches was sent as a single demonstration
patch in versions 1 to 3 of [1]. In there, Junio suggested that I have
only one file containing missing blob information. I have made that
suggested change in this version.
One thing remaining is to add a repository extension [2] so that older
versions of Git fail immediately instead of trying to read missing
blobs, but I thought I'd send these first in order to get some initial
feedback.
[1] https://public-inbox.org/git/cover.1497035376.git.jonathantanmy@google.com/
[2] Documentation/technical/repository-version.txt
Jonathan Tan (3):
promised-blob, fsck: introduce promised blobs
sha1-array: support appending unsigned char hash
sha1_file: add promised blob hook support
Documentation/config.txt | 8 ++
Documentation/gitrepository-layout.txt | 8 ++
Makefile | 1 +
builtin/cat-file.c | 9 ++
builtin/fsck.c | 13 +++
promised-blob.c | 170 +++++++++++++++++++++++++++++++++
promised-blob.h | 27 ++++++
sha1-array.c | 7 ++
sha1-array.h | 1 +
sha1_file.c | 44 ++++++---
t/t3907-promised-blob.sh | 65 +++++++++++++
t/test-lib-functions.sh | 6 ++
12 files changed, 345 insertions(+), 14 deletions(-)
create mode 100644 promised-blob.c
create mode 100644 promised-blob.h
create mode 100755 t/t3907-promised-blob.sh
--
2.13.2.932.g7449e964c-goog
next reply other threads:[~2017-07-11 19:48 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-11 19:48 Jonathan Tan [this message]
2017-07-11 19:48 ` [RFC PATCH 1/3] promised-blob, fsck: introduce promised blobs Jonathan Tan
2017-07-11 22:02 ` Stefan Beller
2017-07-19 23:37 ` Jonathan Tan
2017-07-12 17:29 ` Jeff Hostetler
2017-07-12 19:28 ` Jonathan Nieder
2017-07-13 14:48 ` Jeff Hostetler
2017-07-13 15:05 ` Jeff Hostetler
2017-07-13 19:39 ` Jonathan Tan
2017-07-14 20:03 ` Jeff Hostetler
2017-07-14 21:30 ` Jonathan Nieder
2017-07-11 19:48 ` [RFC PATCH 2/3] sha1-array: support appending unsigned char hash Jonathan Tan
2017-07-11 22:06 ` Stefan Beller
2017-07-19 23:56 ` Jonathan Tan
2017-07-20 0:06 ` Stefan Beller
2017-07-11 19:48 ` [RFC PATCH 3/3] sha1_file: add promised blob hook support Jonathan Tan
2017-07-11 22:38 ` Stefan Beller
2017-07-12 17:40 ` Ben Peart
2017-07-12 20:38 ` Jonathan Nieder
2017-07-16 15:23 ` [RFC PATCH 0/3] Partial clone: promised blobs (formerly "missing blobs") Philip Oakley
2017-07-17 17:43 ` Ben Peart
2017-07-25 20:48 ` Philip Oakley
2017-07-17 18:03 ` Jonathan Nieder
2017-07-29 12:51 ` Philip Oakley
2017-07-20 0:21 ` [RFC PATCH v2 0/4] Partial clone: promised objects (not only blobs) Jonathan Tan
2017-07-20 0:21 ` [RFC PATCH v2 1/4] object: remove "used" field from struct object Jonathan Tan
2017-07-20 0:36 ` Stefan Beller
2017-07-20 0:55 ` Jonathan Tan
2017-07-20 17:44 ` Ben Peart
2017-07-20 21:20 ` Junio C Hamano
2017-07-20 0:21 ` [RFC PATCH v2 2/4] promised-object, fsck: introduce promised objects Jonathan Tan
2017-07-20 18:07 ` Stefan Beller
2017-07-20 19:17 ` Jonathan Tan
2017-07-20 19:58 ` Ben Peart
2017-07-20 21:13 ` Jonathan Tan
2017-07-21 16:24 ` Ben Peart
2017-07-21 20:33 ` Jonathan Tan
2017-07-25 15:10 ` Ben Peart
2017-07-29 13:26 ` Philip Oakley
2017-07-20 0:21 ` [RFC PATCH v2 3/4] sha1-array: support appending unsigned char hash Jonathan Tan
2017-07-20 0:21 ` [RFC PATCH v2 4/4] sha1_file: support promised object hook Jonathan Tan
2017-07-20 18:23 ` Stefan Beller
2017-07-20 20:58 ` Ben Peart
2017-07-20 21:18 ` Jonathan Tan
2017-07-21 16:27 ` Ben Peart
-- strict thread matches above, loose matches on Subject: below --
2022-09-17 23:56 [RFC PATCH 0/3] Partial clone: promised blobs (formerly "missing blobs") Вероника Кулешова
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=cover.1499800530.git.jonathantanmy@google.com \
--to=jonathantanmy@google.com \
--cc=git@vger.kernel.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.
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).