измените рычаги мерзавца по умолчанию

Не уверенный, если это возможно в мерзавце (я не нашел его, но я могу использовать неправильный словарь в своих поисках), но это быть было бы полезный, чтобы быть в состоянии изменить и включить рычаги как значения по умолчанию для всех новых репозиториев (во время создания, которое я имею в виду), таким образом, они не должны быть настроены каждый раз, когда новый репозиторий создается. Это кажется простым способом сделать, это - запись обертка, которая устанавливает мои рычаги и chmods их, когда я создаю новый репозиторий, но если существует путь, встроенный в мерзавца, я использовал бы это вместо того, чтобы иметь ненужные сценарии обертки однако мало лжи вокруг.


Разъяснение, скопированное от комментария до теперь удаленного ответа:

Мой вопрос состоит в том, может ли поведение по умолчанию для ВСЕХ новых репозиториев быть изменено, таким образом, они не должны быть настроены таким же образом каждый раз для каждого нового репозитория. Легкий ответ является записью обертка для создания и настройки repos (это генерирует сценарии рычага и chmods их), но кажется, что это поведение по умолчанию должно также быть настраиваемо, не имея необходимость делать это.

35
задан Jonathan Leffler 30 December 2009 в 00:12
поделиться

2 ответа

Из git-init man page (также работает с git-clone , если вы клонируете существующее репо вместо того, чтобы создавать новое с нуля):

       --template=<template_directory>
           Provide the directory from which templates will be used. The
           default template directory is /usr/share/git-core/templates.

           When specified, <template_directory> is used as the source of the
           template files rather than the default. The template files include
           some directory structure, some suggested "exclude patterns", and
           copies of non-executing "hook" files. The suggested patterns and
           hook files are all modifiable and extensible.

Вы можете изменить общесистемный каталог шаблонов (по умолчанию он имеет значение /usr/share/git-core/templates, но может находиться в другом месте на вашей машине), вы можете указать --template= в командной строке при создании или клонировании репо, или вы можете настроить каталог шаблонов по умолчанию в вашем конфигурационном файле:

[init]
     templatedir = /path/to/templates
34
ответ дан 27 November 2019 в 07:03
поделиться

С git 1.6.5.3 (и некоторыми более ранними версиями) вы получаете примеры крючков, доставленных в вашем каталоге .git/hooks:

$ ls .git/hooks
applypatch-msg.sample     post-update.sample        prepare-commit-msg.sample
commit-msg.sample         pre-applypatch.sample     update.sample
post-commit.sample        pre-commit.sample
post-receive.sample       pre-rebase.sample
$ 

Они все исполняемые на моей системе. Чтобы использовать один из хуксов, скопируйте или переименуйте файл, удалив суффикс '.sample'. Отредактируйте его в соответствии с вашими требованиями.


Обращаясь к вопросу в комментарии - чтобы изменить установленный по умолчанию sample hooks, вам нужно найти каталог, в котором установлен git. На моей машине это $HOME/git - так что двоичный файл находится в $HOME/git/bin/git. Тогда каталог, содержащий примеры хуков:

$HOME/git/share/git-core/templates/hooks

Если вы отредактируете эти шаблоны (будьте осторожны), то это то, что будет скопировано в новые git-репозитории. Это всё равно будут сэмплы, но это будут ваши сэмплы.

Я не экспериментировал с созданием файла без сэмплов в этом каталоге; он может быть скопирован, а может и нет. Будьте осторожны с изменением настроек по умолчанию - при следующем апгрейде вам придется повторить изменения.

4
ответ дан 27 November 2019 в 07:03
поделиться
Другие вопросы по тегам:

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