【问题标题】:Ignore specific line in files忽略文件中的特定行
【发布时间】:2010-10-06 08:58:50
【问题描述】:

我的问题与this one非常相似。

我有 Mercurial 版本控制下的文件,每个文件都有一个字符串:

<modified-time>some time</modified-time>

此行创建了一个外部工具,并且该工具会定期更改此行。我不想知道这一行的变化,我想在执行“diff”、“commit”和“status”命令时忽略这一行的变化。

  1. 所以,如果一个文件只有一个变化,而变化就是那一行,我需要在“hg status”命令的输出中跳过这个文件。
  2. 如果文件的其他行有其他更改,我需要在“hg status”命令的输出中获取此文件。

如果我提交文件,我需要提交所有更改。

【问题讨论】:

  • 不要这样开始你的问题。有无数的巨魔在寻找“重复的问题”来关闭:) 你的问题是不同的。
  • 我希望你能回复legendary @Ry4an关于你为什么接受我的“回答”并没有解决你的具体问题的评论。如果我的回答确实是错的,请不要接受,我会试着想出别的办法。

标签: mercurial


【解决方案1】:

(更新抱歉误读了问题并误导了 OP。)

如果您的所有文件都是由外部工具生成的,请改为跟踪源文件。

如果没有,并且如果您可以修改生成器,请使其使用 date 关键字,就像捆绑的 keyword extension 一样。

如果不是(OP 的评论如此指出),您可以使用 pre-* 挂钩来忽略时间变化(当它是唯一的变化时)。但是,这会很痛苦,因为您必须为每个可以看到文件差异的命令设置一个钩子。

或者正如 OP 的评论所建议的,当文件只有时间更改时,手动或自动(在计时器上或订阅文件系统通知)恢复文件。

【讨论】:

  • 我看到 demas 对答案很满意,但我不明白使用插入日期的扩展如何帮助他忽略其他“外部”工具对日期所做的更改?我错过了什么?
  • 我猜(希望)OP 可以更改“外部工具”,或者已经停止使用它来填充日期,因为他知道了犹太教的方式。
  • 很抱歉接受了这个答案。这是我的错误。我被误导了。关于外部工具,我没有源代码,无法更改它的行为。
  • 我认为解决我的问题的唯一方法是创建另一个程序(守护程序),它将从文件中删除 标记。
猜你喜欢
  • 2014-08-14
  • 2018-05-18
  • 2011-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-13
  • 1970-01-01
相关资源
最近更新 更多