Вы можете сделать это с помощью хука, но вы столкнетесь с большими трудностями, чем просто создадите чистый README.txt. :)
Крюк будет выглядеть так:
[hooks]
post-clone = cp -i config.ini.sample config.ini
Как отметил Пол Фишер, лучше использовать .sample
, который находится в репо, чем что-то вроде /home/configs/config.ini
, который находится вне репо.
Проблема, как указывает VonC, заключается в том, что хуки не копируются на клонов - и на то есть веская причина: если клонирование также приводит к хукам, то я бы добавил post-clone = rm -rf ~
, что действительно разрушит твой день.
Так что, если вы используете крючок, обходной путь - это поместить крюк где-нибудь за пределами репо. В корпоративной среде вы можете сделать это в файле /etc/mercurial/hgrc
на всех системах, что, если у вас есть приличные настройки ИТ, они могут сделать централизованно. Поскольку это звучит так, как будто вы уверены, что существует каталог пользователя / home / configs, похоже, вы говорите о том, что все клоны находятся на одной машине, и в этом случае это хороший вариант для вас. Однако в более децентрализованной среде вы возвращаетесь к тому, что каждый человек вручную устанавливает желаемый хук в своем собственном ~/.hgrc
, и в этот момент вы можете просто сделать так, чтобы он сделал копию самостоятельно.
Одной идеей, заслуживающей рассмотрения , является проверка того, имеет ли интерпретация вашего config.ini
файла директиву, подобную include
? Тогда вы можете получить клонированный config.ini
выглядит так:
... some stuff
%include /home/configs/config.ini
... more stuff
В этом случае копия не требуется вообще. Например, у Mercurial есть директива include, которая работает так: http://www.selenic.com/mercurial/hgrc.5.html#syntax