Re: Why does send-pack call pack-objects for all remote refs?
- From
Jeff King <peff@peff.net>
- Date
- Dec 10, 2015, 04:19 UTC
- Message-ID
- <20151210041941.GA4056@sigill.intra.peff.net>
- In-Reply-To
- <8712f730fb4c414ebc2b1168ca7948b8@EXCHANGE1U.uunet.arlington.PredictiveTechnologies.com>
On Tue, Dec 08, 2015 at 05:34:43PM +0000, Daniel Koverman wrote:
Show 9 quoted lines
> Your interpretation of my email was correct. As you picked up on, I > had a fundamental misunderstanding of what pack-objects was doing. > Thanks for the explanation, I have a much better idea of what is > going on now. > > Given my use pattern, it may be reasonable for me to patch in an > option to compute > > git rev-list --objects $my_topic --not $subset_of_remote_refs
You might also try repacking with "git repack -adb", which will build reachability bitmaps. Pack-objects can use them to compute the set of required objects much faster.
> It is also good to know that 2000 remote refs is insane. The lower > hanging fruit here sounds like trimming that to a reasonable > number, so I'll try that approach first.
It's definitely a lot, but it's not unheard of. The git project has over 500 tags. That's not 2000, but you're within an order of magnitude.
I have seen repositories with 20,000+ tags. I consider that a bit more ridiculous, but it does work in practice.
-Peff