3

GitLabをインストールしたばかりで、1つの例外を除いて完全に機能します。デフォルトでは、すべてのユーザーのリポジトリが1つのディレクトリに保存され、2人のユーザーが独立して同じ名前のプロジェクトを作成しようとすると、たとえば「test」の場合、2番目のユーザーは「パスはすでに取られています」のような失敗。

各ユーザーのリポジトリを分離するための基本的なアプローチは、GitHubと同様に、ユーザー名を使用してサブフォルダー内にリポジトリを配置することです。しかし、私はそれをどのように行うのか分かりません。

GitLabがリポジトリを管理するためにGitoliteを使用していることは知っていますが、最後のリポジトリにはそれを可能にする機能があります。gitolite.confでは「ワイルドカードユーザー」という名前で、次のようになります。

@wildcard_users = user1 user2 user3
repo    CREATOR/.*
    C     = @wildcard_users
    CRW+D = CREATOR
    RW    = WRITERS
    R     = READERS

このようにして、リポジトリパスにCREATORが表示されます。これは、ユーザー名で作成されたリポジトリに置き換えられます。しかし、この機能を使用できる唯一の方法は、gitolite-admin.gitリポジトリのクローンを使用してgitoliteを手動で管理することです。これにより、このようなすべてのことがWebインターフェイスで許可されるGitLabのアイデア全体が失われます。

4

1 に答える 1

2

そのニーズをカバーする正確なGitolite機能は「ワイルドリポジトリ」と呼ばれ、リポジトリを作成するユーザーに基づいています(GitLabではありません) 。

ユーザー「u4」(学生)として、新しいリポジトリを作成するだけです。

$ git clone git@server:assignments/u4/a12
Initialized empty Git repository in /home/sitaram/a12/.git/
Initialized empty Git repository in /home/git/repositories/assignments/u4/a12.git/
warning: You appear to have cloned an empty repository.

2つの空のリポジトリの初期化とそれらが発生する順序に注意してください;-)

repositoriesGitLabはそのワークフローをサポートしておらず、ディレクトリの直下にないリポジトリを管理するには、大きなパッチが必要になります。

于 2012-08-07T12:10:26.800 に答える