Я согласен с другими постерами, что вы, вероятно, хотите использовать то, что уже сделано.Иногда кататься самостоятельно может быть весело.
Вы можете написать оболочку для командной строки diff utils.Каждый пользователь может иметь свой собственный конфигурационный файл для выбора предпочитаемого им редактора.Скрипт сделал бы копию файла, поэтому у вас будет оригинал и новый.После завершения редактирования скрипт запускает diff и сохраняет его на диск и удаляет исходную резервную копию файла.Таким образом, вы будете хранить только самые последние версии плюс все различия, чтобы вы могли вернуться назад и также увидеть изменения.
Я бы вел журнал всех созданных различий и отметил бы их в CSV-файле с идентификатором пользователялицо, которое изменило файл и отметку времени модификации.