2010-10-06 101 views
4

我的问题与this one非常相似。忽略文件中的特定行

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

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

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

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

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

+0

不要像那样开始你的问题。有无数的巨魔在寻找“重复问题”来关闭:)你的问题是不同的。 – 2010-10-06 13:07:34

+0

我希望你能回应[传奇@ Ry4an](http://stackoverflow.com/tags/mercurial/topusers)的评论,说明你为什么接受我的“答案”,这并不能解决你的具体问题。如果我的答案确实是错的,请不要接受它,我会试着想出其他的东西。 – 2010-10-07 05:45:32

回答

2

(UPDATE对不起误读的问题和误导OP)。

如果是由外部工具生成的所有文件,跟踪源文件来代替。

如果不是,并且您可以修改生成器,请使用date关键字(与捆绑的keyword extension一样)。

如果不是(OP的注释是这样的),那么可以使用pre *钩子忽略时间变化(当它是唯一的变化时)。但是,这将是一个痛苦,因为你必须为每个可以看到文件差异的命令设置一个钩子。

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

+2

我发现demas很满意答案,但我不明白如何使用插入日期的扩展来帮助他忽略其他“外部”工具所做日期的更改?我错过了什么? – 2010-10-06 14:59:20

+0

我想(希望)OP有改变“外部工具”的奢望,或者现在已经停止使用它来填充日期,他知道犹太教的方式。 – 2010-10-06 15:07:25

+0

抱歉接受答案。这是我的错误。我是里程碑式的。关于外部工具,我没有源代码,不能改变它的行为。 – demas 2010-10-07 11:28:19