Skip to content

Commit

Permalink
send-pack --thin: use "thin pack" delta transfer.
Browse files Browse the repository at this point in the history
The new flag loosens the usual "self containedness" requirment
of packfiles, and sends deltified representation of objects when
we know the other side has the base objects needed to unpack
them.  This would help reducing the transfer size.

Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Junio C Hamano committed Feb 20, 2006
1 parent 7a979d9 commit 2245be3
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion send-pack.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -41,7 +42,10 @@ static void exec_rev_list(struct ref *refs)
int i = 0;

args[i++] = "rev-list"; /* 0 */
args[i++] = "--objects"; /* 1 */
if (use_thin_pack) /* 1 */
args[i++] = "--objects-edge";
else
args[i++] = "--objects";
while (refs) {
char *buf = malloc(100);
if (i > 900)
Expand Down Expand Up @@ -361,6 +365,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) {
Expand Down

0 comments on commit 2245be3

Please sign in to comment.