Строгая конфигурация Gitolite - PullRequest
       56

Строгая конфигурация Gitolite

0 голосов
/ 26 сентября 2018

Я настраиваю сервер Gitolite со строгими ограничениями.Gitolite doc - это хорошо, но я думаю, что мне все еще нужны некоторые рекомендации, если то, что я делаю, это хороший подход.

  • Ограничение доступа только к мастеру

Пользователи должны иметь доступ только кмастер ветка.Они не могут создать какую-либо ветку или тег.Также я хотел бы предотвратить силу толчка.Единственное, что может сделать пользователь, это сделать простую фиксацию.

Я не уверен, что это будет делать

repo foo

RW+                     =  @sync
RW   master              =  user
  • Позвонить в службу после нажатия

Нужнозапустить триггер или что-то, чтобы уведомить службу об изменении и поддерживать синхронизацию БД.

  • Получение diff

Какой лучший способ получить diff после коммита.Мне нужно синхронизировать все коммиты в БД.Один из способов, который я могу придумать, - это клонировать репозиторий в tmp dir, используя пользователя, такого как @sync, и запустить git diff.Есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 26 сентября 2018

Вы можете добавить свои обновления хуки , или, в вашем случае, хук пост-получения

добавить эту строку в rc file, в блоке %RC, если он еще не существует, или раскомментируйте его, если он уже присутствует и закомментирован:

LOCAL_CODE => "$ENV{HOME}/local",

поместите ваши хуки в этот каталог, вподкаталог под названием "hooks / common":

Такой хук (post-receive) может сделать в нем git diff: см. этот пример

git diff-tree --stat --summary --find-copies-harder $oldrev..$newrev

Дело в том, что нет необходимости клонировать репо: хук будет выполняться после каждого нажатия.

...