зеркало из https://github.com/microsoft/git.git
send-pack --thin: use "thin pack" delta transfer.
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>
This commit is contained in:
Родитель
7a979d99ba
Коммит
2245be3e7a
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 verbose = 0;
|
||||||
static int send_all = 0;
|
static int send_all = 0;
|
||||||
static int force_update = 0;
|
static int force_update = 0;
|
||||||
|
static int use_thin_pack = 0;
|
||||||
|
|
||||||
static int is_zero_sha1(const unsigned char *sha1)
|
static int is_zero_sha1(const unsigned char *sha1)
|
||||||
{
|
{
|
||||||
|
@ -41,7 +42,10 @@ static void exec_rev_list(struct ref *refs)
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
args[i++] = "rev-list"; /* 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) {
|
while (refs) {
|
||||||
char *buf = malloc(100);
|
char *buf = malloc(100);
|
||||||
if (i > 900)
|
if (i > 900)
|
||||||
|
@ -361,6 +365,10 @@ int main(int argc, char **argv)
|
||||||
verbose = 1;
|
verbose = 1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (!strcmp(arg, "--thin")) {
|
||||||
|
use_thin_pack = 1;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
usage(send_pack_usage);
|
usage(send_pack_usage);
|
||||||
}
|
}
|
||||||
if (!dest) {
|
if (!dest) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче