Merge branches 'jc/rev-list' and 'jc/pack-thin'
* jc/rev-list: rev-list --objects: use full pathname to help hashing. rev-list --objects-edge: remove duplicated edge commit output. rev-list --objects-edge * jc/pack-thin: pack-objects: hash basename and direname a bit differently. pack-objects: allow "thin" packs to exceed depth limits pack-objects: use full pathname to help hashing with "thin" pack. pack-objects: thin pack micro-optimization. Use thin pack transfer in "git fetch". Add git-push --thin. send-pack --thin: use "thin pack" delta transfer. Thin pack - create packfile with missing delta base. Conflicts: pack-objects.c (taking "next") send-pack.c (taking "next")
This commit is contained in:
10
send-pack.c
10
send-pack.c
@ -12,6 +12,7 @@ static const char *exec = "git-receive-pack";
|
||||
static int verbose = 0;
|
||||
static int send_all = 0;
|
||||
static int force_update = 0;
|
||||
static int use_thin_pack = 0;
|
||||
|
||||
static int is_zero_sha1(const unsigned char *sha1)
|
||||
{
|
||||
@ -42,7 +43,10 @@ static void exec_rev_list(struct ref *refs)
|
||||
int i = 0, j;
|
||||
|
||||
args[i++] = "rev-list"; /* 0 */
|
||||
args[i++] = "--objects"; /* 1 */
|
||||
if (use_thin_pack) /* 1 */
|
||||
args[i++] = "--objects-edge";
|
||||
else
|
||||
args[i++] = "--objects";
|
||||
|
||||
/* First send the ones we care about most */
|
||||
for (ref = refs; ref; ref = ref->next) {
|
||||
@ -379,6 +383,10 @@ int main(int argc, char **argv)
|
||||
verbose = 1;
|
||||
continue;
|
||||
}
|
||||
if (!strcmp(arg, "--thin")) {
|
||||
use_thin_pack = 1;
|
||||
continue;
|
||||
}
|
||||
usage(send_pack_usage);
|
||||
}
|
||||
if (!dest) {
|
||||
|
Reference in New Issue
Block a user