2012-05-18 10 views
1

我正在關於文件同步的項目。我有一些問題:Mercurial或git diff文件的格式和時間?

  • 誰能告訴我Mercurial或Git如何區分文件和存儲差異?
  • 它是否監視文件更改?
  • 是否需要在提交時區分整個文件?
  • 是否可以通過驅動程序監視段的變化?
  • 處理文本文件和二進制文件的方式有什麼區別?
  • 我還有什麼其他的開源軟件需要研究?
+0

@Lasse V. Karlsen我是這個領域的新手,也是Python的新手,我正在閱讀代碼,但我無法儘快找到我的答案,也許我的研究方式是太窮了。 – xiemeilong

回答

2

對於水銀,它不同於表示之間一個diff,和存儲的差異。

顯示差異,它取決於您是否要求Mercurial本身顯示差異,或者如果您要求它使用外部差異程序。

這裏是所有組合:

  1. 存放DIFF
    1. 始終採用二進制差異,無所謂它是什麼樣的文件(或者被認爲是)
  2. 顯示差異
    1. 要求Mercurial顯示差異
      1. 會抱怨,如果它是一個二進制文件(也就是水銀假定這是一個二進制文件)
      2. 將顯示差異,如果它是一個文本文件(同樣,假設)
    2. 問外部程序顯示DIFF
      1. 依賴於外部程序能夠處理什麼

至於監控的變化,Mercurial不這樣做。當你要求它提交時,在這一點上,它會找出要存儲哪些文件以及爲它們提交哪些更改。

+0

感謝您的回答,你說Mercurial總是使用二進制差異,但我總是找到代碼爲「行」和「文本」,而不是二進制,什麼是算法使用? – xiemeilong