我有一个文本文件,我想用它来跟踪更改。它是一个存储值(以及字符串和数组)的文件,其条目具有以下格式:
NAME: some_name
UNIT: some_unit
...
VALUE: 10
...
END
我可以设置一个存储库并跟踪此文件的更改,以查看
VALUE
何时更改,但是我如何理解像 some_name
这样的条目的更改历史记录?值的变化显示出来,但由于带有 NAME: some_name
的行没有改变,我在搜索结果中没有看到它。所以到目前为止,我不知道如何查看上次 some_name
何时更改或更改了多少次等。
我认为这类似于了解功能的更改历史记录,用户希望了解整个功能在各个修订之间的历史记录。
到目前为止,我正在使用 TortoiseHg 进行初步设置,因此我愿意在此时切换工具,我对版本控制也是完全陌生的。
在 Mercurial 中,
hg grep
命令接受 Python 正则表达式。
grep
在指定文件中搜索模式的修订历史记录:
hg grep [选项]...模式[文件]...搜索修订历史记录 指定文件或整个项目中的正则表达式。
因此
hg grep --diff "(\bsome_name\b)(.|\s)*?(\bEND\b)"
将匹配从 some_name
到 END
的文本,并返回该文本块中发生的更改。尝试一下这里并改编自这里。
此外,在 TortoiseHg 中使用“视图”>“搜索”并将正则表达式
(\bsome_name\b)(.|\s)*?(\bEND\b)
放入“搜索”字段中也可以完成相同的操作(请参阅此处)。