Исключение файлов конфигурации проекта из коммитов в Mercurial - PullRequest
6 голосов
/ 04 марта 2010

У меня есть проект, который требует некоторые файлы конфигурации. Я хочу сохранить конфигурацию по умолчанию в хранилище. Однако я не хочу указывать флаг -X для каждого коммита, который я делаю. Есть ли стандартный способ пометить набор исправленных файлов как окончательно исключенных из коммитов?

Ответы [ 2 ]

4 голосов
/ 04 марта 2010

Интересный вопрос, надеюсь, вы получите лучший ответ. Столкнувшись с похожими проблемами, я сделал следующее:

  • Переименуйте файлы конфигурации, чтобы, например, вместо noweb.cfg у меня было noweb.cfg.default. Этот файл изменяется редко и находится под контролем ревизии.

  • Фактический файл конфигурации, noweb.cfg, может часто меняться, но помещается в файл .hgignore, поэтому он никогда не сохраняется.

  • При необходимости у меня есть специальная цель Makefile, которая перестраивает *.cfg из *.cfg.default.

Это решение не является идеальным, поскольку изменения в файлах .cfg теряются при изменении .cfg.default. В принципе, вы могли бы решить эту проблему с помощью diff3 или более сложного инструмента слияния, но я никогда не был достаточно энергичным, чтобы туда попасть.

3 голосов
/ 04 марта 2010

Вы можете использовать (по умолчанию) раздел по умолчанию в вашем .hgrc:

  [defaults]
  commit = -X thefileyouwanttoexclude

Если вы можете переучить свои пальцы, предпочтительнее вместо этого использовать псевдоним:

 [alias]
  cmt = commit -X thefileyouwanttoexclude

тогда вы начинаете использовать hg cmt вместо коммита.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...