gitDiff doesn't parse the move format correctly (Rnnn fromPath toPath) and gitChanges treats unknown specifiers as adds. Together the two incorrectly treat moves as adds to the old location, which is precisely backward.
Discovered in DefinitelyTyped/DefinitelyTyped#68154; whole-package moves are the least common operation on DT, which is probably why we didn't think to test them, and why it took a month for someday to hit this bug.