Отслеживать небольшие различия в 5 файлах с Mercurial? - PullRequest
2 голосов
/ 21 января 2011

У меня есть пять файлов httpd.conf, которые отличаются только номером порта, который они прослушивают.Все остальные данные между сайтами одинаковы.Есть ли способ отследить это как отдельный файл в Mercurial?Так что, если я сделаю другое изменение в файле httpd.conf, я смогу перенести это на все пять и оставить номера портов раздельными.

Ответы [ 3 ]

6 голосов
/ 21 января 2011

Подумайте об использовании директивы include в файлах httpd.conf.Тогда вы можете оставить каждый из 5 очень маленьких и хранить все общие элементы в отдельном файле.

4 голосов
/ 21 января 2011

Почему бы просто не использовать директиву Включить для отдельной части, которая отличается? Это просто глупое, лексическое «поместите этот файл» вроде как сделка, поэтому она должна быть идеей для ваших нужд.

Также вы можете сделать это:

Listen ${LISTEN}

в вашем конфигурационном файле и передайте это значение как env var.

http://httpd.apache.org/docs/2.2/configuring.html#syntax

1 голос
/ 21 января 2011

Я не думаю, что вы можете; это не обычное дело в VCS. Если я ошибаюсь, я счастлив, что меня поправят.

Возможно, вы можете сделать «основной» файл httpd.conf шаблоном и иметь скрипт сборки, который генерирует пять нужных вам файлов, передавая соответствующий номер порта для каждого файла. Таким образом вы изолируете точки изменения в вашем файле и сохраняете общие биты, ну, в общем, общие. Есть множество языков шаблонов там. Или вы можете просто использовать sed. Или сделайте так, как предложил nmichaels, и используйте возможности Apache напрямую.

Есть много способов снять шкуру с этой кошки, но я не думаю, что Mercurial поможет вам напрямую.

...