我正在进行合并操作,此时我已经准备好提交,但是TortoiseHg的提交对话框显示许多文件已被修改,但当我与父版本进行比较时,所有文件都是二进制相等的。
- I do not have and have never had the eol extension enabled.
- Revert changes nothing, the file is still registering as modified.
- hg parents shows two parents for the file.
hg stat shows the file as modified, e.g.
c:\Projects\MyProject>hg stat Authorization\AuthorityGroups.cs M Authorization\AuthorityGroups.cs
hg diff --git shows nothing, e.g.
c:\Projects\MyProject>hg diff --git Authorization\AuthorityGroups.cs c:\Projects\MyProject>
更新2014/12/10:
我对两个父版本的历史记录进行了更多检查,我认为我知道为什么它会混淆了。
我们在默认分支上添加了原始父文件。
在Apple分支上,该文件已被重命名以将其移动到新位置。
在Orange分支上,该文件的添加是为了将其移动到相同的新位置。
因此,两个分支上的文件是二进制相同且位于相同的位置,但Mercurial似乎将其标记为要合并的差异,因为它们通过不同的方式到达了相同的位置。
因此,问题变成了:
是否有任何方法可以事后修复将移动视为添加和删除的长期提交更改集(新提交可以,但我无法编辑历史记录),还是我只需要让它在合并中 through 过去就行了?
M Authorization\AuthorityGroups.cs - Nanhydrin