重命名的文件替换始终在更新

时间:2015-05-21 09:54:16

标签: version-control merge mercurial

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

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

几个月前,我在Development分支(从ViewOffer.aspx / .aspx.vb / .aspx.designer.vbMakeOffer.aspx /等)重命名了一个文件,用于命名一致性。重新命名的一组更改已提交到回购。

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

发布之后,我按照惯例将Development分支合并到Master ......但现在我注意到每次我现在从{{1}合并} Development 始终更新Master

我意识到这不是一个大问题,因为文件应该是应该的......但令我感到恼火的是文件不断更新。

有没有什么办法可以阻止它在每次合并时都更新?

更新

以下是来自TortoiseHG的镜头,显示了最后一次合并......

enter image description here

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

由于将ViewOffer.aspx重命名为ViewOffer.aspx并创建了新的MakeOffer.aspx,因此出现了问题。

1 个答案:

答案 0 :(得分:1)

经过大量的游戏后,我终于解决了这个问题......虽然我仍然完全无法解释为什么它一开始就发生了。

我这样做的方式如下......

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

远程更改ViewOffer.aspx本地删除使用(c)挂起版本或离开(d)eleted

  • 已选择changed并完成合并

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

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