regression: git push in non-shared repo stalls (v2.11.0+)
Hi,
I observe a regression that seems to have been introduced between v2.10.0 and v2.11.0. When I try to push into a repository on the local filesystem that belongs to another user and has not explicitly been prepared for shared use, v2.11.0 shows some of the usual diagnostic output and then freezes instead of announcing why it failed to push.
Horst
Steps to reproduce (tested on Debian 8 "Jessie" amd64):
- User A creates a bare repository:
mkdir /tmp/gittest
git init --bare /tmp/gittest
- User B clones it, adds and commits a file:
git clone /tmp/gittest
cd gittest
echo 42 > x
git add x
git commit -m test
- User B tries to push to user A's bare repo:
git pushExpected result (git v2.10.0 and earlier): test@ios:~/gittest$ git push Counting objects: 3, done. Writing objects: 100% (3/3), 230 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) remote: error: insufficient permission for adding an object to repository database objects remote: fatal: failed to write object error: unpack failed: unpack-objects abnormal exit To /tmp/gittest ! [remote rejected] master -> master (unpacker error) error: failed to push some refs to '/tmp/gittest'
Actual result (git v2.11.0, v2.12.0, and 2.12.0.189.g3bc53220c): test@ios:~/gittest$ git push Counting objects: 3, done. Writing objects: 100% (3/3), 230 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) [... git freezes here ...]
-- PGP-Key 0xD40E0E7A