Shaun Cutts <shaun@xxxxxxxxxxxxx> writes: > Are renames being tracked by the index, and is there a more basic > interface than "status" to query about them? No. Index, nor git in general, never records renames. git records contents, not content changes. The index records a state, so does the tree object pointed at by the HEAD commit. When you ask for "status", git will notice that you have lost a file, and added a new one, between these two states, by comparing them. The contents of these lost files and added files are then compared, and ones with similar contents are paired up. That way, you do not have to use "git mv A B" to "rename" A to B. You can just as well "mv A B; git rm A; git add B", and get the same outcome, exactly because git does not record renames. Instead, we track them by deducing that you renamed from the result. The tree-vs-index comparison "git status" does to figure all this out is "git diff-index -M --cached HEAD". As it should be obvious from the above description, git diff-index -M --cached HEAD -- A is *NOT* the way for you to ask about "possible renames of A". You need to run the diff for the whole tree without path limitation so that you can pair deletions and creations up in order to deduce renames. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html