2

Gitolite + Gitweb を使用しようとしていますが、いくつか問題が発生しています..

conf/gitolite.confのは以下です

@dataset_repos      = dat1 dat2
@closedsrc_repos    = cod1 cod2 
@opensrc_repos      = testing

@admins             = user1 user2
@bios               = user1 user2 user3
@coders             = user1 user3

repo gitolite-admin
    RW+     =   @admins

repo @opensrc_repos
    RW+     =   @all

repo @dataset_repos
    RW+     =   @admins @bios 

repo @closedsrc_repos
    RW+     =   @admins @coders

リポジトリ code1 と code2 を最初に挿入したとき、git は次のように言いました。

remote: Initialized empty Git repository in /home/git/repositories/code1.git/
remote: Initialized empty Git repository in /home/git/repositories/code2.git/

code2 で最初のコミットを行いましたが、表示されませんでした。そこで、許可を確認したところ、次のことがわかりました。

drwxrwx--- 8 git git 4096 Oct  1 18:58 ./
drwxr-xr-x 8 git git 4096 Oct  1 19:08 ../
drwxrwx--- 8 git git 4096 Oct  1 19:08 gitolite-admin.git/
drwxrws--- 7 git git 4096 Oct  1 17:15 dat1.git/
drwx------ 7 git git 4096 Oct  1 18:58 code1.git/
drwx------ 7 git git 4096 Oct  1 18:58 code2.git/
drwxrwx--- 7 git git 4096 Sep 30 18:20 testing.git/
drwxrws--- 7 git git 4096 Oct  1 17:15 dat2.git/

だから私はレポcode1.gitの許可を修正code2.gitしました:

# Fix ownership
sudo chown -R git:git *

# Fix directory permissions
sudo find <repo.git> -type d -exec chmod 770 {} \;

# Fix file permissions
sudo find <repo.git> -type f -exec chmod 660 {} \;

2 つのリポジトリが gitweb インターフェイスに表示されました。ただし、gl-confこれら 2 つのリポジトリのそれぞれについては生成されませんでした。今、コミットを行うと、権限が再び台無しになり、リポジトリが表示されません..

私は何を間違っていますか?

ありがとう

4

2 に答える 2

1

この質問から読んで、私は部分的に次のように解決しました:

  1. 最初は、gitweb にはリポジトリを読み取る権限がないため、実行して git web ユーザー (通常はwww-dataまたはapache) を git グループに追加することで問題を解決します (usermod -a -G git www-dataサーバーの構成に注意してください。サーバーの構成が少し異なる可能性があるため、設定方法に応じてgitolite

  2. ファイル (git ユーザーのホーム ディレクトリにある)のUMASKプロパティを.gitolite.rc、既定値の0077から、ディレクトリおよびファイルの場合と0022同等の に変更します。755 (rwxr-xr-x)644 (rw-r--r--)

  3. 既存のリポジトリの場合、実行する必要がある場合がありますchmod -R g+rX

上記のリンクの詳細情報。

とにかく、レポを編集するたびにgitolite-admin、これは現在のレポジトリのリストに表示されます..それを変更するには?

于 2013-10-01T23:26:10.637 に答える
0

また、権限に問題がない場合は、どのディレクトリが gitweb をスキャンしているか、gitolite リポジトリがどこにあるかを確認する必要があります。異なる可能性があり、シンボリック リンクによって新しいリポジトリが表示されます。

于 2017-02-17T11:18:26.147 に答える