У меня есть проект, который требует некоторых конфигурационных файлов. Я хочу сохранить конфигурацию по умолчанию filse в репозитории. Однако я хочу, не хотят должными быть указывать флаг-X для каждой фиксации, которую я делаю. Существует ли стандартный способ отметить ряд revisioned файлы, как постоянно исключено из фиксаций?
Интересный вопрос, надеюсь, вы получите лучший ответ. Столкнувшись с подобной проблемой, я сделал следующее:
Переименовал конфигурационные файлы, так что, например, вместо noweb.cfg
у меня есть noweb.cfg.default
. Этот файл меняется редко и хранится под контролем ревизий.
Фактический файл конфигурации, noweb.cfg
, может часто меняться, но он помещен в файл .hgignore
, поэтому он никогда не фиксируется.
При необходимости у меня есть специальная цель Makefile, которая перестраивает *.cfg
из *.cfg.default
.
Это решение не идеально, поскольку изменения в файлах .cfg
теряются при изменении .cfg.default
. В принципе, вы можете решить эту проблему с помощью diff3 или какого-нибудь более сложного инструмента слияния, но я никогда не был достаточно энергичен, чтобы пойти на это.
Вы можете использовать (сильно злонамеренный) раздел значений по умолчанию в вашем .hgrc:
[defaults]
commit = -X thefileyouwanttoexclude
Если вы можете переучить пальцы, предпочтительный способ сделать это - использовать псевдоним:
[alias]
cmt = commit -X thefileyouwanttoexclude
тогда вы начнете использовать hg cmt
вместо фиксации.