Subject: git update-ref --stdin : too many open files

From: Loic Dachary <[email-masked]>
Date: Sat, 20 Dec 2014 11:24:04 +0100

Hi,

Steps to reproduce:

$ git --version
git version 1.9.1
$ wc -l /tmp/1
9090 /tmp/1
$ head /tmp/1
delete refs/pull/1/head
create refs/heads/pull/1 86b715f346e52920ca7c9dfe65424eb9946ebd61
delete refs/pull/1/merge
create refs/merges/1 c0633abdc5311354c9729374e0ba25c97a89f69e
...
$ ulimit -n
1024
$ git update-ref --stdin < /tmp/1
fatal: Unable to create '/home/gitmirror/repositories/Ceph/ceph/refs/heads/pull/1917.lock': Too many open files
$ head -20 /tmp/1 | git update-ref --stdin
$ echo $?
0

The workaround is to increase ulimit -n

git update-ref --stdin should probably close some files.

Cheers
-- 
Loïc Dachary, Artisan Logiciel Libre