Dear Git group,
I use Git at a web hosting service, where my user account has a memory
limit of 768 MB:
(uiserver):p7715773:~$ uname -a
Linux infongp-de15 3.14.0-ui16322-uiabi1-infong-amd64 #1 SMP Debian
3.14.79-2~ui80+4 (2016-11-17) x86_64 GNU/Linux
(uiserver):p7715773:~$ git --version
git version 2.1.4
The problem is that `git status` fails with an out of memory error:
(uiserver):p7715773:~/cafu$ git status
fatal: Out of memory, realloc failed
fatal: recursion detected in die handler
I talked to their support and their suggestion was to set a couple of
memory constraints and to run `git gc`. This seemed to work well – but
`git status` still fails:
(uiserver):p7715773:~/cafu$ cat ~/.gitconfig
[color]
ui = auto
[user]
name = Carsten Fuchs
email = carsten.fuchs@xxxxxxx
[core]
editor = nano
pager = less -M -FRXS
packedgitwindowsize = 30m
packedgitlimit = 40m
[i18n]
commitEncoding = ISO-8859-1
[pack]
threads = 1
windowMemory = 10m
packSizeLimit = 20m
deltaCacheSize = 30m
(uiserver):p7715773:~/cafu$ git gc
Zähle Objekte: 44293, Fertig.
Komprimiere Objekte: 100% (24534/24534), Fertig.
Schreibe Objekte: 100% (44293/44293), Fertig.
Total 44293 (delta 17560), reused 41828 (delta 16708)
(uiserver):p7715773:~/cafu$ git status
fatal: Out of memory, realloc failed
fatal: recursion detected in die handler
The repository is tracking about 19000 files which together take 260 MB.
The git server version is 2.7.4.1.g5468f9e (Bitbucket)
Well, their next response was that they have no solution for me –
except, unsurprisingly, coaxing me into a more expensive hosting package.
I've read the Git man page about `git config`, but was not able to come
up with anything to improve the situation.
Any ideas what I could do to reduce the memory consumption of `git status`?
Best regards,
Carsten
PS: Many thanks to Philip Oakley for initial advice at git-users, to
which I should have properly subscribed in the first place, as the
Google Groups interface seems to lose messages (mine at least, and
inadvertently posts them as HTML) and gmane's NNTP interface reports
that it is unidirectional/read-only.