Файл конфигурации с неотслеживаемыми частями - PullRequest
2 голосов
/ 14 февраля 2012

У меня есть файл конфигурации, содержащий некоторую конфигурацию, важную для всего проекта (т. Е. Любой, кто клонирует репозиторий, должен иметь такой же conf), и некоторую локальную конфигурацию (любому, кто клонирует репозиторий, может понадобиться что-то настроить в этом файл, и я не хочу отслеживать локальную настройку).

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

Есть ли способ справиться с этим сценарием с помощью Git?


Я мог бы использовать git-add -p или -i только для создания части этого файла, но это не очень хорошее решение: оно слишком подвержено ошибкам, требует некоторой работы, и git-status всегда будет отображать этот файл конфигурации как локально модифицированный .

Может быть, я мог бы использовать некоторые git hooks?

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

Имеется файл «config.global» и «config.local» для вашей проверенной в глобальной конфигурации и локальных пользовательских частей.Сделать скрипт-обертку для приложения (как, конечно, будет зависеть от ОС).Пусть скрипт сначала проверит время модификации глобального, локального и «реального» конфигурационного файла.Если какой-либо частичный файл новее, объедините их в реальный конфиг.Затем запустите приложение правильно.

0 голосов
/ 14 февраля 2012

На самом деле нет способа отследить часть файла в git, о которой я знаю.

Вы можете изменить код для загрузки основного файла, а затем настроить его для среды, которая переопределяет значения по умолчанию. Разработчики могут сохранить свою собственную версию, и вы также можете использовать ее для различий в test / dev / prod и т. Д ...

...