对于每个 http 请求,一个单独的进程 git-http-backend
在服务器端运行。
当多个客户端推送到同一个远程存储库时,它如何处理并发问题?
比如是否创建锁文件,文件名是什么?
注意:远程仓库是空的。
最佳答案
以与通过 SSH 调用相同的方式 -- 参见 update_ref function in refs.c .锁定机制的实际实现位于 lock_file function in lockfile.c 中。 ,是的,它会在其中创建一个 .lock
文件。在后台,它是通过 open()
的 O_EXCL
选项完成的。
关于git - 多个客户端push到同一个远程仓库时,git是如何处理并发问题的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15674814/