我有五个httpd.conf文件,它们的区别仅在于它们正在侦听的端口号。站点之间的所有其他数据都是相同的。有没有办法在Mercurial中将其作为单个文件进行跟踪?因此,如果我对httpd.conf文件进行了不同的更改,我可以将其推送到所有五个,并保持端口号分开。
谢谢, 凯文
答案 0 :(得分:6)
考虑在httpd.conf文件中使用include指令。然后你可以保持5个非常小,并将所有常见的东西保存在一个单独的文件中。
答案 1 :(得分:4)
为什么不将Include指令用于不同的单个部分?这只是一个愚蠢的,词汇“把文件放在这里”有点交易,所以应该根据你的需要。
另外,你可以这样做:
Listen ${LISTEN}
在配置文件中并将该值作为env var。
传递答案 2 :(得分:1)
我认为你不能;这在VCS中并不常见。如果我错了,我很高兴得到纠正。
也许您可以将“master”httpd.conf文件作为模板,并拥有一个生成所需五个文件的构建脚本,并为每个文件传入适当的端口号。这样你就可以隔离文件中的变化点,并保持公共位,这很常见。那里有大量的模板语言。或者您只需使用sed
即可。或者像nmichaels建议的那样直接使用Apache的功能。
有很多方法可以为这只特殊的猫提供皮肤,但我认为Mercurial不会直接帮助你。