gitolite のワイルドカード リポジトリ

ワイルドカード リポジトリのことをパーソナル リポジトリとも呼ぶ?

ワイルドカード リポジトリ機能を使うと、利用者に自由に使ってもらう領域を定義できるようだ。

設定の書き方

conf/gitolite.conf ファイルに以下を追記。

repo user/CREATOR/[a-z].*
  C = alice bob carol
  RW+ = CREATOR
  RW  = WRITERS
  R   = READERS

一行目の CREATOR はこれからリポジトリを作ろうとするアカウントの名前に置き換わる。 三行目の CREATOR はリポジトリを作ったアカウントの名前に置き換わる。それぞれのリポジトリをだれが作ったかを gitolite は記憶している、とのことである。 上記例だと alice bob carol の三名がリポジトリ新規作成できる。そして、リポジトリを作った人はそのリポジトリに対して RW+ な権限を持つ。

設定を書いた後、リポジトリを作るには

リポジトリを作るにはクローンすればよい。

[alice@cent7b alice]$ git clone git@54.64.219.176:user/alice/my1
Cloning into 'my1'...
Initialized empty Git repository in /home/git/repositories/user/alice/my1.git/
warning: You appear to have cloned an empty repository.

設定に書いた READERS とか WRITERS とか

READERS とか WRITERS って何よ? リポジトリごとに定義する変数?のようなものっぽい。perms コマンド?をを使うと、それらを活用できる。
[alice@cent7b my1]$ ssh git@54.64.219.176 perms -l user/alice/my1
[alice@cent7b my1]$ ssh git@54.64.219.176 perms user/alice/my1 + READERS @all
[alice@cent7b my1]$ ssh git@54.64.219.176 perms user/alice/my1 + WRITERS bob
[alice@cent7b my1]$ ssh git@54.64.219.176 perms -l user/alice/my1
READERS @all
WRITERS bob
[bob@cent7b ~]$ ssh git@54.64.219.176
PTY allocation request failed on channel 0
hello bob, this is git@ip-172-31-4-226 running gitolite3 v3.6.2-4-g2471e18 on git 2.1.0

     C  user/CREATOR/[a-z].*
 R W    testing
 R W    testing2
 R W    user/alice/my1 ★
Connection to 54.64.219.176 closed.
[carol@cent7b ~]$ ssh git@54.64.219.176
PTY allocation request failed on channel 0
hello carol, this is git@ip-172-31-4-226 running gitolite3 v3.6.2-4-g2471e18 on git 2.1.0

     C  user/CREATOR/[a-z].*
 R W    testing
 R W    testing2
 R      user/alice/my1 ★
Connection to 54.64.219.176 closed.