diff options
author | Junio C Hamano <junkio@cox.net> | 2005-10-05 14:49:54 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-10-05 14:49:54 -0700 |
commit | e091eb93258f05a58bc5d1c60f058f5f57dd92b6 (patch) | |
tree | 721f2ffe2e2fccfc6bf10be1e7db644a1907659f /rev-parse.c | |
parent | df34297af1fe5da786e41bd2fee58e10dd810cc4 (diff) | |
download | git-e091eb93258f05a58bc5d1c60f058f5f57dd92b6.tar.gz |
upload-pack: Do not choke on too many heads request.
Cloning from a repository with more than 256 refs (heads and tags
included) will choke, because upload-pack has a built-in limit of
feeding not more than MAX_NEEDS (currently 256) heads to underlying
git-rev-list. This is a problem when cloning a repository with many
tags, like http://www.linux-mips.org/pub/scm/linux.git, which has 290+
tags.
This commit introduces a new flag, --all, to git-rev-list, to include
all refs in the repository. Updated upload-pack detects requests that
ask more than MAX_NEEDS refs, and sends everything back instead.
We may probably want to tweak the definitions of MAX_NEEDS and
MAX_HAS, but that is a separate topic.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'rev-parse.c')
-rw-r--r-- | rev-parse.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/rev-parse.c b/rev-parse.c index 507b531dce..41b9dae429 100644 --- a/rev-parse.c +++ b/rev-parse.c @@ -32,6 +32,7 @@ static int revs_count = 0; static int is_rev_argument(const char *arg) { static const char *rev_args[] = { + "--all", "--bisect", "--header", "--max-age=", |