2013-06-02 67 views
1

似乎在使用git exteneded diff格式時,需要正確支持重命名。水銀不會添加修訂版ID在它打印在補丁中的命令行,例如:Mercurial git擴展比較格式和版本號

DIFF --git一個/ test.txt的B/test.txt的

代替:

差異-r 86b54773cb1d -r 354c20900a62的test.txt

有沒有辦法讓它不加修訂?看着補丁後,當...這是非常有用

編輯:混帳添加一行類似下面來處理這個問題:

指數e4ff69d..09eb727 100644

爲什麼能「T善變添加這樣一行太:

指數86b54773cb1d..354c20900a62 100644

因爲它不像git那樣跟蹤文件權限,它總是可以使用umask或某些默認值發明一些東西,但那還是比沒有好。

回答

0

我覺得你運氣不好。這就是所謂的--git,因爲它應該模仿git創建和接受的diff格式,所以它排除了任何mercurial-isms。

您可能可以使用hg export --git在頂部包含散列的mercurial註釋塊。

+0

從問題的詳細信息中可以看出,「修訂號」是指「修訂哈希」,它不是本地的。所以問題是,散列可以包含在diff行中嗎? – alexis

+0

啊,你說得對。目前仍無法改變輸出結果,但至少現在這是一個明智的選擇。 :)更新我的答案。 –

+0

git確實增加了如下所示的行: index e4ff69d..09eb727 100644 爲什麼不能添加類似的東西,可能默認使用12個字符的哈希而不是更短的git默認值? – someone4746