I compare two ranges:
Why git range-diff does not show difference? when 3a8c and 2340 commits are different:
I compare two ranges:
Why git range-diff does not show difference? when 3a8c and 2340 commits are different:
Copyright © 2021 Jogjafile Inc.



We can see from the first image that
git range-diffhas decided that one patch was completely deleted in the original range, and a completely different new patch was supplied in its place. This is what:means. Had Git decided that commits
2340cb53and3a8c358dwere different forms of the same commit, you would have seen:You might next ask: Why are these considered different patches, instead of a modification of a single patch? For that, we go to the DESCRIPTION section of the documentation:1
Reading a bit further, into the OPTIONS section, we find:
So you should re-run your command with a larger
--creation-factor.1Git documentation uses, here, the word "correspond" where I generally use the word "identity", referring to the philosophical problem of identity over time. See the Wikipedia entry for the Ship of Theseus. This same problem crops up in simple commit-vs-commit diffs: how do we know that
some/path/to/file.extin commit L on the left is "the same" file asdifferent/path/to/name.extensionin commit R on the right? The ultimate answer is always that we don't know this at all; we must use some method to make a guess. For file-vs-file, as in the commit-vs-commit case, Git's primary method of guessing is to use the two files' path names. For range-vs-range, that method does not work.