All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Hostetler <git@jeffhostetler.com>
To: git@vger.kernel.org
Cc: gitster@pobox.com, peff@peff.net, jonathantanmy@google.com,
	Jeff Hostetler <jeffhost@microsoft.com>
Subject: [PATCH 14/14] index-pack: silently assume missing objects are promisor
Date: Thu,  2 Nov 2017 20:31:29 +0000	[thread overview]
Message-ID: <20171102203129.59417-15-git@jeffhostetler.com> (raw)
In-Reply-To: <20171102203129.59417-1-git@jeffhostetler.com>

From: Jeff Hostetler <jeffhost@microsoft.com>

Teach index-pack to not complain about missing objects
when the --promisor flag is given.  The assumption is that
index-pack is currently building the idx and promisor data
and the is_promisor_object() query would fail anyway.

Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
---
 builtin/index-pack.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index 31cd5ba..51693dc 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -82,6 +82,7 @@ static int verbose;
 static int show_resolving_progress;
 static int show_stat;
 static int check_self_contained_and_connected;
+static int arg_promisor_given;
 
 static struct progress *progress;
 
@@ -223,10 +224,11 @@ static unsigned check_object(struct object *obj)
 		unsigned long size;
 		int type = sha1_object_info(obj->oid.hash, &size);
 
-		if (type <= 0) {
+		if (type <= 0 && arg_promisor_given) {
 			/*
-			 * TODO Use the promisor code to conditionally
-			 * try to fetch this object -or- assume it is ok.
+			 * Assume this missing object is promised.  We can't
+			 * confirm it because we are indexing the packfile
+			 * that omitted it.
 			 */
 			obj->flags |= FLAG_CHECKED;
 			return 0;
@@ -1717,8 +1719,10 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
 				keep_msg = arg + 7;
 			} else if (!strcmp(arg, "--promisor")) {
 				promisor_msg = "";
+				arg_promisor_given = 1;
 			} else if (starts_with(arg, "--promisor=")) {
 				promisor_msg = arg + strlen("--promisor=");
+				arg_promisor_given = 1;
 			} else if (starts_with(arg, "--threads=")) {
 				char *end;
 				nr_threads = strtoul(arg+10, &end, 0);
-- 
2.9.3


  parent reply	other threads:[~2017-11-02 20:32 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-02 20:31 [PATCH 00/14] WIP Partial clone part 3: clone, fetch, fetch-pack, upload-pack, and tests Jeff Hostetler
2017-11-02 20:31 ` [PATCH 01/14] upload-pack: add object filtering for partial clone Jeff Hostetler
2017-11-02 20:31 ` [PATCH 02/14] clone, fetch-pack, index-pack, transport: " Jeff Hostetler
2017-11-03 20:32   ` Jonathan Tan
2017-11-08 18:01     ` Adam Dinwoodie
2017-11-16 17:43       ` Jeff Hostetler
2017-11-02 20:31 ` [PATCH 03/14] fetch: refactor calculation of remote list Jeff Hostetler
2017-11-02 20:31 ` [PATCH 04/14] fetch: add object filtering for partial fetch Jeff Hostetler
2017-11-03 20:38   ` Jonathan Tan
2017-11-16 17:53     ` Jeff Hostetler
2017-11-02 20:31 ` [PATCH 05/14] remote-curl: add object filtering for partial clone Jeff Hostetler
2017-11-02 20:31 ` [PATCH 06/14] pack-objects: test support for blob filtering Jeff Hostetler
2017-11-02 20:31 ` [PATCH 07/14] fetch-pack: test support excluding large blobs Jeff Hostetler
2017-11-02 20:31 ` [PATCH 08/14] fetch: add from_promisor and exclude-promisor-objects parameters Jeff Hostetler
2017-11-02 20:31 ` [PATCH 09/14] t5500: add fetch-pack tests for partial clone Jeff Hostetler
2017-11-02 20:31 ` [PATCH 10/14] t5601: test " Jeff Hostetler
2017-11-02 20:31 ` [PATCH 11/14] t5500: more tests for partial clone and fetch Jeff Hostetler
2017-11-02 20:31 ` [PATCH 12/14] unpack-trees: batch fetching of missing blobs Jeff Hostetler
2017-11-02 20:31 ` [PATCH 13/14] fetch-pack: restore save_commit_buffer after use Jeff Hostetler
2017-11-02 20:31 ` Jeff Hostetler [this message]
2017-11-02 23:41 ` [PATCH 00/14] WIP Partial clone part 3: clone, fetch, fetch-pack, upload-pack, and tests Jonathan Tan
2017-11-03 14:22   ` Jeff Hostetler
2017-11-03 15:12 ` 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=20171102203129.59417-15-git@jeffhostetler.com \
    --to=git@jeffhostetler.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jeffhost@microsoft.com \
    --cc=jonathantanmy@google.com \
    --cc=peff@peff.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.