diff options
author | Fredrik Medley <fredrik.medley@gmail.com> | 2015-05-21 22:23:38 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-05-22 18:25:35 -0700 |
commit | 7199c093ad4a90bd0d9012681b6a148ab8c945e3 (patch) | |
tree | 0117a4fc287c18e696212dbbe5533941e038077f /fetch-pack.c | |
parent | bc0a4741492d20a59217c51c955c80b0ac3cff5b (diff) | |
download | git-7199c093ad4a90bd0d9012681b6a148ab8c945e3.tar.gz |
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.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/fetch-pack.c b/fetch-pack.c index 48526aa54b..ff5bd5c48b 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; |