2010-09-27 39 views
5

我在嘗試將unix託管的Mercurial存儲庫克隆到Windows計算機。我希望能夠使用eol擴展名,以便在克隆到Windows計算機時,服務器上帶有LF結尾的文本文件具有CRLF。在Mercurial中配置eol擴展的問題

以前我用過的win32text擴展,它一直很好,但由於the general consensus似乎是在EOL擴展是要走的路,我想我給它一個鏡頭。

在我Mercurial.ini我有

[extensions] 
eol = 

我理解的是,默認的行爲是LF轉換成CRLF的克隆,但我已經清楚地錯過了一些東西的,每當我從克隆Unix服務器的東西Windows,行結束仍然是LF。

任何想法?

+0

不 - 我認爲這只是需要覆蓋默認行爲。該文件是否總是需要? – 2010-09-27 15:47:31

回答

5

繼@ Geoffrey的評論,我創建了一個.hgeol文件:

[patterns] 
** = native 

這是卓有成效的,但我感到困惑。我假設啓用eol擴展會默認打開這種模式處理。這是否意味着如果存儲庫所有者有先見之明的話,我只能從Unix服務器成功克隆克隆.hgeol文件處理Windows客戶端?

+0

你總是可以自己添加'.hgeol'(如果你不想或不允許跟蹤文件,可以用'.hgignore'忽略它)。如果你看一下源代碼,你會發現它是通過一個repo wrapper和'pre-update'鉤子來完成的,所以如果所有文件都被打開(類似於關鍵字擴展),你的性能就會下降。事情是大多數現代化的工具和編輯應該能夠處理不同的EOL,而且你只需要指定那些不能的古代工具的文件。 – 2010-09-27 19:08:19

+0

是的 - 我添加了一個本地.hgeol,它工作正常。這一切只是感覺比需要更努力。我知道大多數編輯人員只會用LF工作,但我需要人們能夠在記事本中快速打開一個文本文件,並說,當它不起作用時不會讓我感到悲傷。 – 2010-09-27 23:30:11

+1

我很同情那些不得不使用記事本作爲[最佳網頁創作工具]的人的工作(http://blogs.msdn.com/b/oldnewthing/archive/2009/11/02/9915989的.aspx)。 – 2010-09-28 02:26:21