Я действительно в растерянности. Я прочитал немало примеров и попробовал все. Самые основные из них работают нормально, но в любое время, когда я пытаюсь перейти к чему-то более сложному, все разваливается (даже когда я непосредственно копирую пример). Кроме того, для записи я на gitolite версии 3, как показано спамом сервера:
this is [email protected] running gitolite3 v3.1-2-g3eefc06 on git 1.7.9.5
Все это говорит о том, что я пытаюсь выполнить (Я ДУМАЮ), относительно просто. У меня есть группа младших разработчиков [@scrubs], и я только хочу, чтобы они создавали и фиксировали новые ветки и могли читать/вытаскивать мастер. Таким образом, я могу просмотреть их код, прежде чем он будет объединен.
У меня есть группа старших разработчиков [@vets], что я хочу иметь свободное владение.
Мой конфигурационный файл выглядит следующим образом:
@scrubs = al ted matthew
@vets = kevin will guy
@offlimitbranches = master$
repo gitolite-admin
RW+ = @vets matthew
repo dawebsite
RW+ = @vets
- @offlimitbranches = @scrubs
RW+ = @scrubs
R @offlimitbranches = @scrubs
R = daemon
option deny-rules = 1
dawebsite "Owner" = "This is THE site"
Я заметил, что ничего не работало для отказа, пока я не добавил:
option deny-rules = 1
о котором, я думаю, я нашел в одном из 20 примеров (прикосновение разглагольства прощает разочарование.
С помощью этой текущей настройки ветеринары могут делать что угодно, как ожидалось.
Скрабы не могут ни тянуть, ни толкать мастер (и я думаю, что, поскольку он захватывает первое правило, это может сравниться?). Скрабы также не могут тянуть или нажимать на любую ветвь немастера, а также не нажимать вновь созданные ветки. Каждая попытка возвращает одно и то же сообщение "FATAL: [R/W] любой dawebsite matthew DENIED by refs/heads/master $"
Я пробовал использовать master, master $, @offlimitbranches и даже refs/heads/master без всяких проблем для ссылки ref.
Если кто-то может помочь пролить свет на это для меня, я был бы весьма благодарен.
Update **
Играя с вещами, которые я заметил, если я удалю матовый из группы скрабов и попытаюсь манипулировать им напрямую с помощью
- master$ = matthew
RW+ = matthew
если он переместится в новую ветку и попробовал следующее: (спасибо VonC за то, что они нажимают на журналы)
git pull origin newBranch
git push origin newBranch
каждый возвращает ошибку
PULL:
ARGV=matthew SOC=git-upload-pack 'dawebsite.git' FROM=172.24.1.198
access(dawebsite, matthew, R, 'any'),-> R any dawebsite matthew DENIED by refs/heads/master$
trigger,Writable,access_1,ACCESS_1,dawebsite,matthew,R,any,R any dawebsite,matthew DENIED by refs/heads/master$
R any dawebsite matthew DENIED by refs/heads/master$<<newline>>(or you mis-spelled the reponame)
PUSH:
ARGV=matthew SOC=git-receive-pack 'dawebsite.git' FROM=172.24.1.198
access(dawebsite, matthew, W, 'any'),-> W any medehrdev matthew DENIED by refs/heads/master$
trigger,Writable,access_1,ACCESS_1,dawebsite,matthew,W,any,W any dawebsite matthew DENIED by refs/heads/master$
W any dawebsite matthew DENIED by refs/heads/master$<<newline>>(or you mis-spelled the reponame)
Кажется, что все мои ветки совпадают с мастером ref $, потому что все они порождены мастером?