Есть ли способ заблокировать ответвление в МЕРЗАВЦЕ

У меня есть идея заблокировать репозиторий от пользователей, продвигающих файлы в него при наличии сценария блокировки в рычаге обновления МЕРЗАВЦА, так как нажатие может только распознать идентификатор пользователя как аргументы а не ответвления. Таким образом, я могу заблокировать весь repo, который просто блокирует каталог.

Существует ли способ заблокировать определенное ответвление в МЕРЗАВЦЕ?

Или есть ли способ, которым может определить Рычаг Обновления, от которого ответвления пользователь продвигает и к которому ответвлению продвинут код?

41
задан Senthil A Kumar 18 March 2010 в 16:02
поделиться

2 ответа

Инструмент, подобный гитолиту, имеет такую ​​особенность, как мне кажется: http://github.com/sitaramc/gitolite

7
ответ дан 27 November 2019 в 00:49
поделиться

Хук update, из документации:

Хук выполняется один раз для каждой обновляемой ссылки и принимает три параметра:

  • имя обновляемой ссылки,
  • старое имя объекта, сохраненное в ссылке,
  • и новое имя объекта, которое должно быть сохранено в ссылке.

Так что... да, он точно знает, какая ветвь будет оттеснена, и может просто проверить этот параметр и выйти из строя, если не хочет, чтобы ветвь была оттеснена.

А если вы хотите (разумно) сделать это до того, как пользователь загрузил объекты, вы можете использовать хук pre-receive:

Этот хук выполняется один раз для операции получения. Он не принимает аргументов, но для каждой обновляемой ссылки получает на стандартный ввод строку формата:

SP SP LF

где - старое имя объекта, хранящееся в ссылке, - новое имя объекта, которое будет храниться в ссылке, и - полное имя ссылки.

(это пробелы и перевод строки)

9
ответ дан 27 November 2019 в 00:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: