2017-02-15 142 views
0

我正在使用Android Studio 2.2.3 & Mercurial Distributed SCM(版本4.0.1),在MacOS Sierra 10.12.3上运行。hg diff忽略^ M

我正在使用Hg命令基础客户端。 hg diff显示:

enter image description here

这里是我的〜/ .hgrc

[extensions] 
purge= 
color = 
pager = 

[pager] 
pager = LESS='FRSXQ' less 
quiet = True 
attend = outgoing,incoming,diff,status,log,qdiff,blame,annotate,pdiff,glog 

任何配置我要补充,以避免显示DIFF ^M?在Android Studio或Mercurial配置?谢谢。

回答

2

答案取决于你想要什么了一下:

一)是不是只有不想看到whitspace/EOL字符的变化,这样就可以更好的复习差异?然后对diff命令使用适当的标志:hg diff -b显示diff,同时忽略包括EOL在内的空白变化。

b)如果你通常遇到这个问题,并且希望有一些存储库方面的帮助来处理EOL字符:利用EOL扩展。然而,更合理的方法是使用正确配置的编辑器,也许使用拒绝带有错误EOL字符的文件的存储库钩子。

+0

我可以在(a)中采纳你的建议来忽略空格变化,但我也担心(b)。我们有2名开发人员在同一个存储库上工我在MacOS上使用Android Studio,另一个队友在Windows上使用Android Studio。在这里设置Android Studio的任何经验,所以它不应该在MacOS和Windows之间冲突?谢谢! –

+0

FYI'hg diff -b'仍然在行末显示'^ M'。这些代码行是新添加的,不会修改任何现有的行。 –

+0

可能是由于我的'pager extension'配置?在.hgrc中注释掉'pager extension'修复了我的问题,在EOL不再显示'^ M'。 –

2

使用EOL扩展名。在盲目启用它之前,请仔细阅读https://www.mercurial-scm.org/wiki/EolExtension

+0

我只能强调:最好不要忽略更改,而是让你的委托人使用正确配置的编辑器。如果你只是想在查看diff时忽略这些空白变化,可以使用'hg diff -b'。 – planetmaker