mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
http-fetch: support fetching packfiles by URL
Teach http-fetch the ability to download packfiles directly, given a URL, and to verify them. The http_pack_request suite has been augmented with a function that takes a URL directly. With this function, the hash is only used to determine the name of the temporary file. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
8e6adb69e1
commit
8d5d2a34df
11
http.h
11
http.h
@@ -216,6 +216,15 @@ int http_get_info_packs(const char *base_url,
|
||||
|
||||
struct http_pack_request {
|
||||
char *url;
|
||||
|
||||
/*
|
||||
* If this is true, finish_http_pack_request() will pass "--keep" to
|
||||
* index-pack, resulting in the creation of a keep file, and will not
|
||||
* suppress its stdout (that is, the "keep\t<hash>\n" line will be
|
||||
* printed to stdout).
|
||||
*/
|
||||
unsigned generate_keep : 1;
|
||||
|
||||
FILE *packfile;
|
||||
struct strbuf tmpfile;
|
||||
struct active_request_slot *slot;
|
||||
@@ -223,6 +232,8 @@ struct http_pack_request {
|
||||
|
||||
struct http_pack_request *new_http_pack_request(
|
||||
const unsigned char *packed_git_hash, const char *base_url);
|
||||
struct http_pack_request *new_direct_http_pack_request(
|
||||
const unsigned char *packed_git_hash, char *url);
|
||||
int finish_http_pack_request(struct http_pack_request *preq);
|
||||
void release_http_pack_request(struct http_pack_request *preq);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user