我有几个存储库用于跟踪系统中用于各种目的的脚本。例如,其中几个脚本是对提取、修改和执行有用的 sql 脚本。很多时候,这些脚本将包含靠近顶部的一组参数,这些参数被更改以查看一组特定的记录。
不幸的是,一旦我使用该文件,它总是显示为 hg 状态的变化。我真的很想用一种方法向 Mercurial 表明文件的某些部分对于检测更改没有意义。
我知道(并且经常使用)MQ、记录和搁置扩展——但所有这些都需要我做一些事情来忽略这些行。我真的更喜欢忽略它们。
有什么建议么?
我有几个存储库用于跟踪系统中用于各种目的的脚本。例如,其中几个脚本是对提取、修改和执行有用的 sql 脚本。很多时候,这些脚本将包含靠近顶部的一组参数,这些参数被更改以查看一组特定的记录。
不幸的是,一旦我使用该文件,它总是显示为 hg 状态的变化。我真的很想用一种方法向 Mercurial 表明文件的某些部分对于检测更改没有意义。
我知道(并且经常使用)MQ、记录和搁置扩展——但所有这些都需要我做一些事情来忽略这些行。我真的更喜欢忽略它们。
有什么建议么?
使用 MQ,您可以:
您可能可以 使用pre-commit 和 post-commit 挂钩来执行以下操作:
然而,这很脆弱,需要每个有这个问题的人确保他们安装了相同的钩子。请记住,挂钩不会提交到存储库,但必须手动设置。
这样做的推荐方法是将模板文件提交到存储库中,使用不同的文件名,然后让 Mercurial 忽略您不断修改的整个实际文件。
然后,当您设置一个新的工作文件夹(我认为这种情况很少发生)时,只需从模板中复制出一个可用版本就很简单了。如果您正在自动运行脚本,您甚至可以通过if not exists ... copy ...
某处的某个步骤自动执行此步骤。
但是,您不能要求 Mercurial 在每次提交时自动忽略文件的某些部分。