Are concurrent pushes and fetches to the same repository via HTTP supported?

Considering this architecture:

git --(smart HTTP protocol)--> apache -> git-http-backend

git version is 2.1.1 on client and server.

Multiple clients are fetching from and pushing to the same
repositories, sometimes concurrently.

Some pushes are failing with this error:

To https://username:passw...@host.com/projectrepos/project.git
+ 3711f16...0bdfbc5 master -> master (forced update)
error: RPC failed; result=52, HTTP code = 0
fatal: The remote end hung up unexpectedly

remote: error: failed to lock refs/heads/master
To https://username:passw...@host.com/projectrepos/project.git
! [remote rejected] master -> master (failed to lock)
error: failed to push some refs to
'https://username:passw...@host.com/projectrepos/project.git'

It says it failed to lock but we're not sure why. Error code 52 means
it "got nothing".

On the server logs, there are errors like these (I'm not sure if
caused by fetch or push requests):

error: Ref refs/heads/master is at
f38a8a79752eac8a53fd195bc37fc56c0faf5cfa but expected
a586117cd41604b8b2cb9776a98715c591071ad1

error: Ref refs/heads/master is at
6e1108c108ae464a37cbb3ccc84db934656cbcb4 but expected
f38a8a79752eac8a53fd195bc37fc56c0faf5cfa

fatal: git upload-pack: not our ref f38a8a79752eac8a53fd195bc37fc56c0faf5cfa

error: Ref refs/heads/master is at
6e1108c108ae464a37cbb3ccc84db934656cbcb4 but expected
f38a8a79752eac8a53fd195bc37fc56c0faf5cfa

error: Ref refs/heads/master is at
cc853c06962b3562e46cfefb3986abef914809b5 but expected
6e1108c108ae464a37cbb3ccc84db934656cbcb4

These errors don't happen when accessing a repository on the
filesystem instead of via HTTP transport.

Does git support concurrent fetch and push operations?

Are there any restrictions to doing that via the HTTP backend?
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to