Back in the early 2010s I often found myself trying to merge code that had been refactored on one branch and had new functionality added or existing code changed on another. So subclasses being hoisted, methods being extracted, methods being sorted by visibility, code being packaged up into classes and these moved into their own files... Meanwhile on the other branch changes were made to the original code prior to all this refactoring. It made merging a bit challenging to say the least.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!