Jgit源码阅读——文件差异比较就是比较index文件的差别
git比较文件差异是根据当前的index文件进行差量比较的.
这些差量信息如:
added files 已经add进index的file,也就是在objects目录中存在备份的file
changed files 内容发生改变,而且在index和版本库中都存在记录的file
removed files 已经被移除的file
missing files 已经不存在的file
modified files 内容发生改变,而且受控目录和index都存在的file
conflicting files 与已经存在版本相冲突的file
untracked files 还没被add进index的file
files with assume-unchanged flag 这个,知道说一下
这个是IndexDiff类中比较当前workTree跟版本库中文件状态 最关键的部分
/** The standard (fully merged) stage for an entry. */public static final int STAGE_0 = 0;/** The base tree revision for an entry. */public static final int STAGE_1 = 1;/** The first tree revision (usually called "ours"). */public static final int STAGE_2 = 2;/** The second tree revision (usually called "theirs"). */public static final int STAGE_3 = 3;.