重命名的文件替换总是被更新

Renamed file replacement always being updated

在我的 Mercurial 存储库中,我遇到这样一种情况:每次合并时总是更新一个文件。这是一个复杂的情况(我会尝试解释),我不确定这个问题是否会得到很好的接受...

我有两个主要分支,DevelopmentMaster...其中 Development 中的所有更改在发布时合并到 Master 中,Master 分支相应地标有版本号。

几个月前,我重命名了 Development 分支中的一个文件(从 ViewOffer.aspx / .aspx.vb / .aspx.designer.vbMakeOffer.aspx / 等)为了命名的一致性。重命名的一组更改已提交到存储库中。

为了保护调用 ViewOffer.aspx 的任何实例(通过书签等),我创建了一个新的 ViewOffer.aspx,并通过非常简单的重定向到 MakeOffer.aspx 并提交回购协议。

发布后,我像往常一样将 Development 分支合并到 Master ... =10=] 到 Master 总是 更新 ViewOffer.aspx.

我意识到这不是什么大问题,因为该文件完全符合它应有的样子...但是文件不断更新让我很烦。

有什么方法可以阻止它每次合并时都更新吗?


更新

这是来自 TortoiseHG 的截图,显示了最后一次合并发生...

您可以看到 ViewOffer.aspx 已被合并,尽管该文件已超过 2 个月未被触及。 (那段时间有很多合并。)

由于将 ViewOffer.aspx 重命名为 MakeOffer.aspx 并创建了新的 ViewOffer.aspx,出现了一些错误。

玩了很多次后,我终于解决了...虽然我仍然完全无法解释为什么会发生这种情况。

我的做法如下...

  • 更新到 Development 分支
  • 更改 ViewOffer.aspx 文件并提交
  • 更新到 Master 分支
  • 删除 ViewOffer.aspx 文件并提交
  • 已开始从 Development 分支合并到当前的 Master 分支。此时我看到了来自 TortoiseHG 的以下提示:

remote changed ViewOffer.aspx which local deleted use (c)hanged version or leave (d)eleted

  • 选择changed并完成合并

现在,当我 updateMasterDevelopment 之间时,唯一要更新的文件是 .hgtags(如预期的那样)。

当我进行任何更改并将 Development 合并到 Master 时,ViewOffer.aspx 不再列为文件之一。