I was aware of Git/Mercurial/Bazaar's ability to merge through file moves, but that wasn't enough for the fine-grained movement of code that took place in a refactoring. So I thought about writing a tool to handle this on my commutes to work - and then got on with the job anyway and never got round to it. There was always something more pressing (and usually paid for) to do.
Fast forward to 2023 and I had the time to work on this pipe-dream. I had some ideas back then about how to do this using a genetic algorithm and naively thought it would take six months or so, maybe a year. Turned out to take a lot longer, but it's been a fascinating project to work on. The genetic algorithm was sacked in the first six months, btw.
Installation instructions are here: https://github.com/sageserpent-open/kineticMerge#installatio...
It's an MIT-licensed CLI application.
You will need a JRE >= 17 on your system to run it.
Currently, it is expected that you work using Git, so it reads Git history and makes Git merge commits.
It's currently on its 57th release, and I use it for my own work (including its own development), so it's out of alpha these days.
Go crazy with it, and do raise tickets on GitHub if you find bugs. High praise is always welcome too!