2

gitリポジトリの管理にGitoliteを使用しています。また、サードパーティのWebアプリケーションを使用してリポジトリを表示しています。

ただし、毎回git push --all git@myserver.com:myproject、サードパーティのWebアプリケーションがリポジトリファイルにアクセスできません。chmod go+rx -R /path/to/the/repository/folderしたがって、リポジトリを表示するには毎回実行する必要があります。

設定git config core.sharedRepository allしましたが、後の権限をまだ覚えていませんgit push

どうすればこの問題を解決できますか?

4

1 に答える 1

2

gitoliteによって管理されているベアリポジトリから(適切なACLを使用して)非ベアposを更新するために、gitolite環境へのフックを定義できます。

(Gitolite V3で)フックを使用updateない限り、post-receiveこれらのタスクを実行するフックを定義できます。

そうは言っても、変数がREPO_UMASK UMASKあなたのgitolite.rcは、この問題と関係があります。

$UMASK、8進数、デフォルト0077

UMASKgitoliteが使用するデフォルトでは、すべてのリポジトリとそのコンテンツにrwx------権限があります。
走りたい人はgitweb、これではうまくいかないことに気づきます。
これに対処する正しい方法は、この変数を0027に変更して(これによりrwxr-x---)、Webサーバーを実行しているapacheまたはhttpdユーザーを「gitolite」グループのメンバーとして追加することです。

構文に注意してください。先頭の0が必要です。インストールの完了後に変更する場合は、chmodすでに作成されているファイルとディレクトリのアクセス許可を調整するためにも、いくつかの操作を行う必要があります。

(注:GitoliteV3または'g3'REPO_MASK取得)UMASK

于 2011-03-28T05:44:38.880 に答える