5

http 要求ごとgit-http-backendに、サーバー側で個別のプロセスが実行されます。

複数のクライアントが同じリモート リポジトリにプッシュする場合、同時実行の問題を処理するために何をしますか?

たとえば、ロック ファイルを作成し、その名前は何ですか?

注: リモート リポジトリはベアです。

4

1 に答える 1

2

SSH 経由で呼び出された場合と同じ方法で -- refs.c のupdate_ref 関数を参照してください。ロック機構の実際の実装はlockfile.c の lock_file 関数に.lockあり、そこにファイルが作成されます。ボンネットの下では、O_EXCLオプションを介して行われますopen()

于 2013-04-08T15:46:24.887 に答える