5

git-http-backend对于每个 http 请求,在服务器端运行一个单独的进程。

当多个客户端推送到同一个远程存储库时,它如何处理并发问题?

例如,它是否创建锁定文件以及名称是什么?

注意:远程存储库是裸露的。

4

1 回答 1

2

与通过 SSH 调用的方式相同 - 请参阅refs.c 中的 update_ref 函数。锁定机制的实际实现存在于 lockfile.c 中的lock_file 函数中,是的,它在那里创建了一个.lock文件。在引擎盖下,它是通过O_EXCL选项来完成的open()

于 2013-04-08T15:46:24.887 回答