summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 8eb38ca)
raw | patch | inline | side by side (parent: 8eb38ca)
author | Jeff King <peff@peff.net> | |
Sun, 23 Jul 2006 05:50:30 +0000 (01:50 -0400) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Mon, 24 Jul 2006 06:40:35 +0000 (23:40 -0700) |
For some repositories, deltas simply don't make sense. One can disable
them for git-repack by adding --window, but git-push insists on making
the deltas which can be very CPU-intensive for little benefit.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
them for git-repack by adding --window, but git-push insists on making
the deltas which can be very CPU-intensive for little benefit.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Documentation/config.txt | patch | blob | history | |
pack-objects.c | patch | blob | history |
index f4985d453e350041de31b3932fa9ecf7cb451de2..9d08dfcedadc8146dc9521212ac078fcb99d57ab 100644 (file)
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
Whether to include summaries of merged commits in newly created
merge commit messages. False by default.
+pack.window::
+ The size of the window used by gitlink:git-pack-objects[1] when no
+ window size is given on the command line. Defaults to 10.
+
pull.octopus::
The default merge strategy to use when pulling multiple branches
at once.
diff --git a/pack-objects.c b/pack-objects.c
index 04a48b925b4db0e302650f7383b5ccbb948665de..861c7f08ff1b68eee141442411b4706a1bcc2518 100644 (file)
--- a/pack-objects.c
+++ b/pack-objects.c
static unsigned char pack_file_sha1[20];
static int progress = 1;
static volatile sig_atomic_t progress_update = 0;
+static int window = 10;
/*
* The object names in objects array are hashed with this hashtable,
setitimer(ITIMER_REAL, &v, NULL);
}
+static int git_pack_config(const char *k, const char *v)
+{
+ if(!strcmp(k, "pack.window")) {
+ window = git_config_int(k, v);
+ return 0;
+ }
+ return git_default_config(k, v);
+}
+
int main(int argc, char **argv)
{
SHA_CTX ctx;
char line[40 + 1 + PATH_MAX + 2];
- int window = 10, depth = 10, pack_to_stdout = 0;
+ int depth = 10, pack_to_stdout = 0;
struct object_entry **list;
int num_preferred_base = 0;
int i;
setup_git_directory();
+ git_config(git_pack_config);
progress = isatty(2);
for (i = 1; i < argc; i++) {