[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [jgit-dev] How to deal with LargeObjectException in RevWalk.parseCommit?
- From: Marc Strapetz <marc.strapetz@xxxxxxxxxxx>
- Date: Wed, 04 Apr 2012 20:57:08 +0200
- Delivered-to: firstname.lastname@example.org
- User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
On 04.04.2012 20:31, Shawn Pearce wrote:
> On Wed, Apr 4, 2012 at 11:24, Marc Strapetz <marc.strapetz@xxxxxxxxxxx> wrote:
>>> We could make this a repository level configuration setting, with the
>>> default being the current 5 MiB. If users need it bigger, they could
>>> set a larger limit in .git/config or ~/.gitconfig.
>> OK. In addition I'd still add a setter to change the default limit, e.g.
>> SmartGit usually runs with -Xmx256M, so I'd probably have 128M as
>> default here. The few remaining users which use their pagefile.sys for
>> the commit message will have to change their repository configuration.
>> If there are no objections, I'll prepare a corresponding patch.
> It probably makes sense to connect this with the WindowCacheConfig. Or
> maybe we just use core.streamFileThreshold here?
> Oh, now I remember. I wanted to make sure we could process most
> commits, so I just hard coded this to 5 MiB. But we could do the
> larger of 5 MiB or core.streamFileThreshold.
Having all these limits set to core.streamFileThreshold sounds
reasonable. WindowCacheConfig is in a quite different package
(storage.pack vs. revwalk), so I'd read that value directly from the
Config. The actual definition of the default limit is currently located
in PackFile.DEFAULT_BIG_FILE_THRESHOLD. We could move that default to
Config so it's near to "core.streamFileThreshold" and we could add a
setter for the default there?