Макрос Gitolite для расширения до имени пользователя?

У меня есть файл конфигурации с чем-то вроде:

repo qt/[a-zA-Z0-9_\.\-]+
  C      = @admins
  RW+    = @admins
  R      = @users
  RW bob = bob

Как видите, каждый пользователь (в группе @users) может читать все ветки, и я хочу, чтобы bob мог создавать и отправлять ветки bob (а также bob/fix и т. д.).

Есть ли макрос, который будет расширяться до имени пользователя? Я хотел бы сделать что-то вроде:

repo qt/[a-zA-Z0-9_\.\-]+
  C       = @admins
  RW+     = @admins
  R       = @users
  RW USER = USER

person HWende    schedule 18.05.2012    source источник


Ответы (1)


Единственная функция Gitolite, которая будет выглядеть близко к тому, что вам нужно, это «персональная ветка"

«Персональные» ветки отлично подходят для сред, в которых разработчикам необходимо делиться работой, но они не могут напрямую получать данные друг от друга (обычно по причинам, связанным с сетью или аутентификацией, которые часто встречаются в корпоративных настройках).

Персональные ветки существуют в собственном пространстве имен. Синтаксис

RW+ personal/USER/  =   @userlist

где «личное» может быть любым (но не может быть пустым), а часть «/USER/» обязательна (включая обе косые черты).

Пользователь "alice" (если он есть в списке пользователей) может отправлять любые ветки внутри personal/alice/.
Это означает, что он может отправлять personal/alice/foo и personal/alice/bar, но НЕ personal/alice.

(Фон: во время выполнения компонент "USER" будет заменен именем вызывающего пользователя. Доступ, как обычно, определяется правой стороной).

Это означает, что когда вы ищете «Есть ли макрос, который будет расширяться до имени пользователя?», /USER/ будет примером «макроса», используемого для имени пользователя.

person VonC    schedule 18.05.2012
comment
Именно то, что мне нужно. Глупый я не видел этого в документации. - person HWende; 18.05.2012