2014-07-03 54 views
2

當我運行:什麼是由git difftool生成的「lindex」,「rindex」和「wtindex」文件?

git difftool -d 

它創建一個包含文件的臨時目錄,在差異中顯示。結構如下:

tmpdir/ 
    left/ 
    file1 
    lindex 
    right/ 
    file1 
    rindex 

「左」和「右」目錄已清除。但是什麼是「lindex」和「rindex」文件?它們包含什麼?我如何查看它們?有時沒有「rindex」,而是「wtindex」文件。

+0

可能需要提及(和標記)你實際使用什麼工具作爲'git difftool' ...然後查閱該工具的文檔... – twalberg

+0

當你傳遞「-d」時,'git-difftool'命令本身在將控制權交給diff工具本身之前生成了這個目錄結構。所以這真的是一個'git-difftool'問題。 – danvk

+0

@twalberg它在'git-difftool.perl' [源代碼](https://github.com/git/git/blob/v2.0.1/git-difftool.perl)。 –

回答

3

它們代表indexes,由git update-index產生於git-difftool.perl#L224-L248

  • lindex表示LOCAL:包含當前分支上文件內容的臨時文件。
  • rindex表示REMOTE:包含要合併的文件內容的臨時文件。
  • wtindex表示合併(工作樹):正在進行的合併

這些索引,以方便你會做的每個文件中的任何區域設置修改之間的差異更新using --index-info的結果,而三上面提到的版本。

+0

感謝您的解釋。我可以使用[此腳本](https://gist.github.com/sriranggd/1144775)轉儲這些文件的內容。在一天結束時,他們似乎並不感興趣。檢查「左」和「右」目錄中的文件無法獲得它們。 – danvk

相關問題