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>
This commit is contained in:
@ -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=",
|
||||
|
Reference in New Issue
Block a user