Re: push race
From: Angelo Borsotti <hidden>
Date: 2016-06-15 22:55:02
Hi Junio, is receive-pack invoked only when using the git or ssh protocols, or is it invoked also when accessing directly a remote repository as a mounted filesystem? But let's see if there are problems also with the other protocols: in transport.c, the function git_transport_push calls first get_remote_heads() to get the tips of the branches and then calls send_pack(). I did not study deeply the code, but I have the impression that there is nothing that prevents an interleaved execution of them by two workstations. I had a look to receive-pack, and have seen that it creates lock files for the branches it updates. However the lock seems to protect only the updating of files, not the checking of the tips. -Angelo