我有一个项目,托管在启动板上,其中包含一个相当用户特定的配置文件。
最初检出项目后,显然也应下载此.cfg文件。但是,进一步更新(通过" bzr update")理想情况下不会改变此.cfg文件,因为用户可能会对其进行自己的编辑。这些编辑将被覆盖/合并应该(有潜在的冲突)我使用我自己的.cfg文件的代码推送更新 - 我不希望这发生!
避免这种情况的最佳做法是什么?我无法真的" bzr忽略",因为那时通过bzr检出的任何未来用户都不会拥有.cfg文件。
当然,我可以用" stock"替换我的.cfg文件。每次我提交一个,但这似乎有点笨拙。
或等效笨重,单独提供.cfg文件。
我正在寻找的是单拍"下载,但不会随后更新。
有什么建议吗?
答案 0 :(得分:1)
这是一个棘手的问题,因为版本控制系统通常不会设计为具有此方法所需的细粒度提交策略。如果您在受控环境中操作,可以使用插件或挂钩从提交等中排除某些文件,但这似乎不是一个选项。我添加not null
也不会帮助您,因为它只会阻止添加文件;它不会阻止提交或签出这些文件。
可以执行的操作是在构建/安装/安装期间生成配置文件(如果它尚不存在)。类似的东西:
bzr ignore
在这里,您正常检查#!/bin/sh
if [ ! -e configuration.cfg ]; then
cp etc/configuration.cfg.in configuration.cfg
fi
并在build / setup / installation上运行上述脚本(这也可以通过受控环境中的etc/configuration.cfg.in
挂钩自动执行)。您将原件放在不同的目录中,这样就不会有意外编辑它的风险。