[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] How to deal with LargeObjectException in RevWalk.parseCommit?

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?

-Marc