0

私の Git リポジトリーは AFS 共有上にあります。Linux サーバーで実行中のすべてのプロセスには、ファイルとディレクトリのマスクが何であれ、この AFS 共有に書き込む権利があります。

Git は、Apache および git-http-backend を使用して Git Smart HTTP を介して提供されます。

私が抱えている問題は、クライアントからマスターにプッシュしようとすると、動作するまで操作を 3 ~ 4 回繰り返さなければならないことです。Apache サーバー側で、次のエラーが表示されます。

致命的: オブジェクトエラーの書き込みに失敗しました: オブジェクトをリポジトリデータベースに追加するための権限が不十分です ./objects

クライアント側では、次のエラーがあります。

エラー: unpack に失敗しました: unpack-objects の異常終了

私が理解できないのは、フォルダーの権限が変更されないため、3/4回後に機能する理由です。

どんな手掛かり?

ありがとうございました!

ジル

PS: クライアントの Git のバージョンは git-1.7.3.4-3.6 で、サーバーの Git は git-1.7.4.1 です。

4

1 に答える 1

0

フォルダーの権限が変更されないため、3/4回後に機能するのはなぜですか。

おそらく、権限に関連していないためです。おそらく、AFS 共有に保管することによって可能になる一種の競合状態があります。あなたの最善の策は

  • do 'do not do' (つまり、最初にローカル ストレージに保存する)
  • 関連するフラグを見つけるための使用ごとの AFS ドキュメント (「sync」、「delay」、「cache」、または「lazy」を探します)
  • AFS ユーザーグループにバグ/投稿としてファイルしてください

小さな書き込みの最適化を最初に開始したときに、ZFS-fuse でこのような問題が発生するのを見てきました(git は非常に正確で最適化された統計更新を行います。期待どおりにすぐに読み戻せない場合、失敗します)。

于 2011-04-19T12:07:14.090 に答える