【问题标题】:Can I color hg log output based on content?我可以根据内容为 hg 日志输出着色吗?
【发布时间】:2017-12-27 21:39:24
【问题描述】:

是否可以根据单个变更集的内容和/或描述为 hg 日志输出的每一行着色?例如,我想通过将合并行和仅涉及测试资源(无编程语言文件)的更改行变灰来帮助“真实”工作脱颖而出。

根据我们团队的习惯,我可以通过在描述中查找“基线”和“合并”这两个词来大致得到我想要的,但是文件模式和目录(用于基线)和拓扑(用于合并)会更多精确。

有没有办法配置 hg 以不同的格式设置每一行?

【问题讨论】:

  • 您能在此处发布您对此主题的任何研究结果吗?
  • @LazyBadger,恐怕我从来没有比我在我的 cmets 中对鲍里斯回答的指示更进一步。
  • 我现在在这里有发言权(以及关于该主题的一些考虑和想法,不是解决方案),我们可以尝试检查这些材料,如果您仍然对其进行交互测试

标签: templates mercurial hg-log


【解决方案1】:

我认为不能仅根据内容着色,但您可以使用 Mercurial revsets (hg help revset) 仅显示相关变更集。

类似:hg log -r "not desc('merge') and not file('test/*')" 应该会让你走上正轨。

以下是它的工作原理:

  • desc('merge') 将选择在其描述中包含合并的变更集。
  • not desc('merge') 将过滤掉此类变更集。
  • file('test/*') 将选择涉及测试目录中文件的变更集。
  • not file('test/*') 将过滤掉此类变更集。

这个解决方案的最大问题是它会过滤掉测试目录和其他地方的变更集,我不确定是否有专门的修订集。

【讨论】:

  • 我真的在寻找一种方法来包含所有项目并以不同的方式着色不同的项目。我认为ififcontainsifeq 可以实现我正在寻找的大部分内容,尽管我还没有弄清楚细节,但我在写完问题后发现了这些。 (见hg help templates
  • 虽然我在解释我到目前为止所学的内容,但我的问题还需要label(也在 hg 帮助模板中)和自定义颜色:stackoverflow.com/questions/3625725/…stackoverflow.com/questions/11548978/…
猜你喜欢
  • 1970-01-01
  • 2010-09-27
  • 2023-03-07
  • 2020-12-02
  • 1970-01-01
  • 1970-01-01
  • 2017-06-03
  • 1970-01-01
相关资源
最近更新 更多