Re: [QUESTION] Access to a huge GIT repository.
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:12
Martin Langhoff [off-list ref] writes:
On 11/17/05, Junio C Hamano [off-list ref] wrote:quoted
The underlying network transfer program, 'git-clone-pack', can be told to clone only specified branches. If somebody is interested, updating the 'git-clone' wrapper to use it should not be too hard -- obviously this needs to be done for other transports as well, though.cg-clone already does this.
Yes, but it can be improved. It does fetch-pack for git native transports, which means the receiving end expands the pack. I think we would either need to teach cg-clone to tell cg-fetch that it is cloning and invoke git-clone-pack, or add an optional "do not expand" option to git-fetch-pack (git-clone-pack always keeps the downloaded pack unexpanded). Huge pack transfer spends long time on the downloader side unpacking the pack.
If you just pull tagrefs and all the objects needed for them, chances are you'll get the whole repo anyway ;-)
Yes, that's why we changed ls-remote to report the magic ^{}
entries and it is used in cg-fetch::fetch_tags.