2014-07-03 35 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

相关问题