2017-02-15 123 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