Merge branch 'jt/cdn-offload' into jch
The "fetch/clone" protocol has been updated to allow the server to instruct the clients to grab pre-packaged packfile(s) in addition to the packed object data coming over the wire. * jt/cdn-offload: upload-pack: fix a sparse '0 as NULL pointer' warning upload-pack: send part of packfile response as uri fetch-pack: support more than one pack lockfile upload-pack: refactor reading of pack-objects out Documentation: add Packfile URIs design doc Documentation: order protocol v2 sections http-fetch: support fetching packfiles by URL http-fetch: refactor into function http: refactor finish_http_pack_request() http: use --stdin when indexing dumb HTTP pack
This commit is contained in:
@ -48,8 +48,8 @@ int cmd_fetch_pack(int argc, const char **argv, const char *prefix)
|
||||
struct ref **sought = NULL;
|
||||
int nr_sought = 0, alloc_sought = 0;
|
||||
int fd[2];
|
||||
char *pack_lockfile = NULL;
|
||||
char **pack_lockfile_ptr = NULL;
|
||||
struct string_list pack_lockfiles = STRING_LIST_INIT_DUP;
|
||||
struct string_list *pack_lockfiles_ptr = NULL;
|
||||
struct child_process *conn;
|
||||
struct fetch_pack_args args;
|
||||
struct oid_array shallow = OID_ARRAY_INIT;
|
||||
@ -134,7 +134,7 @@ int cmd_fetch_pack(int argc, const char **argv, const char *prefix)
|
||||
}
|
||||
if (!strcmp("--lock-pack", arg)) {
|
||||
args.lock_pack = 1;
|
||||
pack_lockfile_ptr = &pack_lockfile;
|
||||
pack_lockfiles_ptr = &pack_lockfiles;
|
||||
continue;
|
||||
}
|
||||
if (!strcmp("--check-self-contained-and-connected", arg)) {
|
||||
@ -235,10 +235,15 @@ int cmd_fetch_pack(int argc, const char **argv, const char *prefix)
|
||||
}
|
||||
|
||||
ref = fetch_pack(&args, fd, ref, sought, nr_sought,
|
||||
&shallow, pack_lockfile_ptr, version);
|
||||
if (pack_lockfile) {
|
||||
printf("lock %s\n", pack_lockfile);
|
||||
&shallow, pack_lockfiles_ptr, version);
|
||||
if (pack_lockfiles.nr) {
|
||||
int i;
|
||||
|
||||
printf("lock %s\n", pack_lockfiles.items[0].string);
|
||||
fflush(stdout);
|
||||
for (i = 1; i < pack_lockfiles.nr; i++)
|
||||
warning(_("Lockfile created but not reported: %s"),
|
||||
pack_lockfiles.items[i].string);
|
||||
}
|
||||
if (args.check_self_contained_and_connected &&
|
||||
args.self_contained_and_connected) {
|
||||
|
Reference in New Issue
Block a user