summaryrefslogtreecommitdiff
path: root/fetch-pack.c
diff options
context:
space:
mode:
authorFredrik Medley <fredrik.medley@gmail.com>2015-05-21 20:23:38 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-05-23 01:25:35 (GMT)
commit7199c093ad4a90bd0d9012681b6a148ab8c945e3 (patch)
tree0117a4fc287c18e696212dbbe5533941e038077f /fetch-pack.c
parentbc0a4741492d20a59217c51c955c80b0ac3cff5b (diff)
downloadgit-7199c093ad4a90bd0d9012681b6a148ab8c945e3.zip
git-7199c093ad4a90bd0d9012681b6a148ab8c945e3.tar.gz
git-7199c093ad4a90bd0d9012681b6a148ab8c945e3.tar.bz2
upload-pack: prepare to extend allow-tip-sha1-in-want
To allow future extensions, e.g. allowing non-tip sha1, replace the boolean allow_tip_sha1_in_want variable with the flag-style allow_request_with_bare_object_name variable. Signed-off-by: Fredrik Medley <fredrik.medley@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'fetch-pack.c')
-rw-r--r--fetch-pack.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/fetch-pack.c b/fetch-pack.c
index 48526aa..ff5bd5c 100644
--- a/fetch-pack.c
+++ b/fetch-pack.c
@@ -43,7 +43,10 @@ static int marked;
#define MAX_IN_VAIN 256
static struct prio_queue rev_list = { compare_commits_by_commit_date };
-static int non_common_revs, multi_ack, use_sideband, allow_tip_sha1_in_want;
+static int non_common_revs, multi_ack, use_sideband;
+/* Allow specifying sha1 if it is a ref tip. */
+#define ALLOW_TIP_SHA1 01
+static unsigned int allow_unadvertised_object_request;
static void rev_list_push(struct commit *commit, int mark)
{
@@ -542,7 +545,7 @@ static void filter_refs(struct fetch_pack_args *args,
}
/* Append unmatched requests to the list */
- if (allow_tip_sha1_in_want) {
+ if ((allow_unadvertised_object_request & ALLOW_TIP_SHA1)) {
for (i = 0; i < nr_sought; i++) {
unsigned char sha1[20];
@@ -821,7 +824,7 @@ static struct ref *do_fetch_pack(struct fetch_pack_args *args,
if (server_supports("allow-tip-sha1-in-want")) {
if (args->verbose)
fprintf(stderr, "Server supports allow-tip-sha1-in-want\n");
- allow_tip_sha1_in_want = 1;
+ allow_unadvertised_object_request |= ALLOW_TIP_SHA1;
}
if (!server_supports("thin-pack"))
args->use_thin_pack = 0;