Hello, On Mon 07 Jul 2025 at 11:09pm +02, Jakub Ječmínek via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote: > On 7/7/25 10:34, Sean Whitton wrote: >> That's okay, I think the only thing is to check that the backend >> implements file-name-changes using vc-find-backend-function. Then so >> long as the general approach makes sense and works for Git it's fine. > > I've updated the patch based on your suggestions. You're right, `vc-annotate' > is indeed a better place for this change. Jakub, I'm attaching a version of your patch with a rewritten commit message to more closely match our conventions, and to avoid overlong lines of code. Please take a look. >>> Dmitry Gutov writes: >>> >>>> On 05/07/2025 19:42, Sean Whitton wrote: >>>> I think (?) the file name might have changed in some later revision - so >>>> it won't be returned by vc-git-file-name-changes for that specific REV, >>>> but still might not match the current name. >>> >>> I'm not sure. >> Seems like this needs to be investigated before we can proceed. > I've tested various scenarios and haven't encountered any issues with the > current implementation. It would be great if you could test the change as > well, in case there are edge cases I missed. I think that we need to see an argument in terms of the definition of the file-name-changes backend function that demonstrates that your approach will always work: ;; Return the list of pairs with changes in file names in REV. When ;; a file was added, it should be a cons with nil car. When ;; deleted, a cons with nil cdr. When copied or renamed, a cons ;; with the source name as car and destination name as cdr. -- Sean Whitton