summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-01-25 01:02:15 (GMT)
committerJunio C Hamano <junkio@cox.net>2007-01-25 02:08:02 (GMT)
commite28714c527339a477fca226765163b9361d94285 (patch)
tree73a590d0c86774ecb64fc93af67c630ad75d6f4d
parentaf7cf268f0bf8d4216f9c11d1cb0082cb3550f61 (diff)
downloadgit-e28714c527339a477fca226765163b9361d94285.zip
git-e28714c527339a477fca226765163b9361d94285.tar.gz
git-e28714c527339a477fca226765163b9361d94285.tar.bz2
Consolidate {receive,fetch}.unpackLimit
This allows transfer.unpackLimit to specify what these two configuration variables want to set. We would probably want to deprecate the two separate variables, as I do not see much point in specifying them independently. Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Documentation/config.txt5
-rw-r--r--fetch-pack.c14
-rw-r--r--receive-pack.c24
-rwxr-xr-xt/t5500-fetch-pack.sh2
4 files changed, 35 insertions, 10 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 383ff29..8086d75 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -488,3 +488,8 @@ receive.denyNonFastForwards::
even if that push is forced. This configuration variable is
set when initializing a shared repository.
+transfer.unpackLimit::
+ When `fetch.unpackLimit` or `receive.unpackLimit` are
+ not set, the value of this variable is used instead.
+
+
diff --git a/fetch-pack.c b/fetch-pack.c
index fc0534c..83a1d7b 100644
--- a/fetch-pack.c
+++ b/fetch-pack.c
@@ -8,6 +8,8 @@
#include "sideband.h"
static int keep_pack;
+static int transfer_unpack_limit = -1;
+static int fetch_unpack_limit = -1;
static int unpack_limit = 100;
static int quiet;
static int verbose;
@@ -645,7 +647,12 @@ static int remove_duplicates(int nr_heads, char **heads)
static int fetch_pack_config(const char *var, const char *value)
{
if (strcmp(var, "fetch.unpacklimit") == 0) {
- unpack_limit = git_config_int(var, value);
+ fetch_unpack_limit = git_config_int(var, value);
+ return 0;
+ }
+
+ if (strcmp(var, "transfer.unpacklimit") == 0) {
+ transfer_unpack_limit = git_config_int(var, value);
return 0;
}
@@ -666,6 +673,11 @@ int main(int argc, char **argv)
setup_ident();
git_config(fetch_pack_config);
+ if (0 <= transfer_unpack_limit)
+ unpack_limit = transfer_unpack_limit;
+ else if (0 <= fetch_unpack_limit)
+ unpack_limit = fetch_unpack_limit;
+
nr_heads = 0;
heads = NULL;
for (i = 1; i < argc; i++) {
diff --git a/receive-pack.c b/receive-pack.c
index b3a4552..8b59b32 100644
--- a/receive-pack.c
+++ b/receive-pack.c
@@ -10,6 +10,8 @@
static const char receive_pack_usage[] = "git-receive-pack <git-dir>";
static int deny_non_fast_forwards = 0;
+static int receive_unpack_limit = -1;
+static int transfer_unpack_limit = -1;
static int unpack_limit = 100;
static int report_status;
@@ -18,21 +20,22 @@ static int capabilities_sent;
static int receive_pack_config(const char *var, const char *value)
{
- git_default_config(var, value);
-
- if (strcmp(var, "receive.denynonfastforwards") == 0)
- {
+ if (strcmp(var, "receive.denynonfastforwards") == 0) {
deny_non_fast_forwards = git_config_bool(var, value);
return 0;
}
- if (strcmp(var, "receive.unpacklimit") == 0)
- {
- unpack_limit = git_config_int(var, value);
+ if (strcmp(var, "receive.unpacklimit") == 0) {
+ receive_unpack_limit = git_config_int(var, value);
return 0;
}
- return 0;
+ if (strcmp(var, "transfer.unpacklimit") == 0) {
+ transfer_unpack_limit = git_config_int(var, value);
+ return 0;
+ }
+
+ return git_default_config(var, value);
}
static int show_ref(const char *path, const unsigned char *sha1, int flag, void *cb_data)
@@ -431,6 +434,11 @@ int main(int argc, char **argv)
ignore_missing_committer_name();
git_config(receive_pack_config);
+ if (0 <= transfer_unpack_limit)
+ unpack_limit = transfer_unpack_limit;
+ else if (0 <= receive_unpack_limit)
+ unpack_limit = receive_unpack_limit;
+
write_head_info();
/* EOF */
diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh
index 7fd651b..058cce0 100755
--- a/t/t5500-fetch-pack.sh
+++ b/t/t5500-fetch-pack.sh
@@ -98,7 +98,7 @@ pull_to_client () {
mkdir client &&
cd client &&
git-init 2>> log2.txt &&
- git repo-config fetch.unpacklimit 0
+ git repo-config transfer.unpacklimit 0
)
add A1