Как git, так и mercurial должны нормально работать. Создайте основную ветвь, затем скопируйте ее в минимальную ветвь, затем обрежьте минимальную ветвь, чтобы она выглядела как уже имеющаяся реализация (удалите все дополнительные файлы, скопируйте файлы, которые вы изменили).
С этого момента используйте регулярные команды слияния между ветвями. Вероятно, лучше всего объединить минимальную ветвь с основной ветвью. Объединение в другую сторону, скорее всего, вызывает жалобы на то, что объединение не удалось (с конфликтами), поскольку некоторые файлы применяются к удаленным файлам / удаленным функциям.