summaryrefslogtreecommitdiff
path: root/builtin-pack-objects.c
diff options
context:
space:
mode:
authorDana L. How <danahow@gmail.com>2007-05-13 19:47:09 (GMT)
committerJunio C Hamano <junkio@cox.net>2007-05-21 04:55:26 (GMT)
commit6b94b1a09af9cf877f0bc43d6097bce56f856866 (patch)
treefbcf76db0f43a5f3448d5732a2c97d453061e5d4 /builtin-pack-objects.c
parentebe27b137c971d6d436c8d2125296ee526f6d02b (diff)
downloadgit-6b94b1a09af9cf877f0bc43d6097bce56f856866.zip
git-6b94b1a09af9cf877f0bc43d6097bce56f856866.tar.gz
git-6b94b1a09af9cf877f0bc43d6097bce56f856866.tar.bz2
git-repack --max-pack-size: add option parsing to enable feature
Add --max-pack-size parsing and usage messages. Upgrade git-repack.sh to handle multiple packfile names, and build packfiles in GIT_OBJECT_DIRECTORY not GIT_DIR. Update documentation. Signed-off-by: Dana L. How <danahow@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'builtin-pack-objects.c')
-rw-r--r--builtin-pack-objects.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c
index ce9eb2d..930b57a 100644
--- a/builtin-pack-objects.c
+++ b/builtin-pack-objects.c
@@ -15,7 +15,7 @@
#include "progress.h"
static const char pack_usage[] = "\
-git-pack-objects [{ -q | --progress | --all-progress }] \n\
+git-pack-objects [{ -q | --progress | --all-progress }] [--max-pack-size=N] \n\
[--local] [--incremental] [--window=N] [--depth=N] \n\
[--no-reuse-delta] [--no-reuse-object] [--delta-base-offset] \n\
[--non-empty] [--revs [--unpacked | --all]*] [--reflog] \n\
@@ -1713,6 +1713,13 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
pack_compression_level = level;
continue;
}
+ if (!prefixcmp(arg, "--max-pack-size=")) {
+ char *end;
+ pack_size_limit = strtoul(arg+16, &end, 0) * 1024 * 1024;
+ if (!arg[16] || *end)
+ usage(pack_usage);
+ continue;
+ }
if (!prefixcmp(arg, "--window=")) {
char *end;
window = strtoul(arg+9, &end, 0);