2015-08-10 5 views

ответ

0

См "partial-copy: selective read control for branches"

Главное,:

Git (и, следовательно, gitolite) не может делать выборочный контроль чтения - позволяя кому-то читать ветку A, но не разветвляются B.
Это все репо или ничего.

Gerrit Code Review может это сделать, но это потому, что у них есть свой собственный git (а также их собственный sshd и т. Д.). Если проверка кода является частью вашего решения о контроле доступа, вам действительно стоит подумать о Gerrit.

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

Gitolite теперь может помочь вам в этом. Обратите внимание, что это только для ветвей; вы не можете сделать это для файлов и каталогов.

Вот как:

  • включить 'partial-copy' в ENABLE списке в файле гс.
  • для каждого репо «foo», которая имеет секретные ветви, определенный набор разработчиков (мы будем использовать группу под названием @temp-emp в качестве примера) не должны видеть, сделать это:
repo foo 
     # rules should allow @temp-emp NO ACCESS 

    repo foo-partialcopy-1 
     - secret-branch    = @temp-emp 

     # other rules; see notes below 

     - VREF/partial-copy   = @all 
     config gitolite.partialCopyOf = foo 

ВАЖНЫЕ ПРИМЕЧАНИЯ:

  • , если вы используете другие VREFs, убедитесь, что это один помещается в конце, после того, как все остальные.
  • помните, что любые изменения, которые могут быть внесены в репозиторий частичной копии, будут распространяться на основное репо, поэтому убедитесь, что вы используете другие правила, чтобы ограничить нажатие на другие ветви и теги по мере необходимости.
Смежные вопросы