Consider following usecase:
I'm working on my local branch while refactoring has been done on the main branch. Now some files (classes) have been renamed and/or moved to new locations. When merging i get lots and lots of import-errors due to missing classes.
--A--B--C--D--E-- (master)
\ \
F--G--H--I--J (topic)
In A
there are the old names wich i used in F--G--H--I
.
In B--C--D--E
the files are refactored resulting in new file names in E
. This includes chained renames like
B: path/to/File.java
-> C: path/to/BetterName.java
-> D: better/package/BetterName.java
-> E: final/package/FinalName.java
Now merging results in J
with many (compilation) errors due to the missing refactorings on my branch. (Because i still refer to path.to.File
instead of final.package.FinalName
In order to fix the broken build, i need to know the new names for the old classes.
Is there a git command to get all the renames that have been applied to a particular file?