二进制相等文件显示为已修改,无法还原

use*_*702 4 mercurial

我突然有几个文件显示为已修改,但KDiff说它们是二进制相等的.恢复和丢弃这些更改不会做任何事情.

不知何故,eol扩展已启用,当我尝试禁用它时,我无法在TortoiseHg中查看一个repo的工作目录.出现错误:

[错误6]句柄无效

使用命令行时hg status,会出现此错误:

'cleverencode:'不被识别为内部或外部命令,可操作程序或批处理文件.

使用时hg revert myfile,会生成.orig文件,但文件仍显示为已修改,并显示上述相同的错误.

当更新到先前的提交时,很多其他文件都处于相同的情况,就像我现在拥有的那些.

如果有必要,我可以抛弃这个克隆并创建一个新的克隆,但如果不这样做就可以解决这个问题会很好.

use*_*702 9

能够解决它.

我的全球mercurial.ini中有一些行cleverencode.删除后,问题就消失了.启用/禁用eol扩展也似乎不会再引起任何问题.

我怀疑麻烦制造者是Atlassian的SourceTree,我昨天安装了一个更新,它询问是否应该启用自动行结束处理.我很确定我取消选中它,无论如何,似乎混合了eol配置和win32text配置.

另请参阅:[SRCTREEWIN-708] Mercurial行结束处理配置可能出错 - Atlassian JIRA