summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--send-pack.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/send-pack.c b/send-pack.c
index 990be3f1a3..ad22da56e9 100644
--- a/send-pack.c
+++ b/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)
{
@@ -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)
@@ -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) {