С помощью любой системы контроля за версиями, принцип работы примерно везде одинаков.
Gui версия .git, например,
https://tortoisegit.org/
Создаёшь основную ветку с версией софта №1, потом на основе этой ветки создаёшь копию ещё одной ветки, перезаписываешь содержимое новой ветки версией софта №2, обновляешь перезаписанные изменения.
.Git теперь понимает разницу в версиях и изменённые файлы можно сравнивать во строенном редакторе tortoisegit.