Я смотрю, как поместить базу кода, которая запускает несколько веб-сайтов, в систему управления версиями. Существует несколько экземпляров этой кодовой базы, где веб-сайты работают на разных виртуальных серверах.
Проблема, с которой я сталкиваюсь, заключается в том, что каждый из этих отдельных экземпляров более или менее одного и того же кода имеет подкаталоги со специфичными для сайта функциями. Но похоже, что системы контроля версий хотят контролировать всю иерархию каталогов.
Например, каждый экземпляр имеет каталог
/www/smarty/libs/plugins/
Где вы найдете специфичные для сайта функции для smarty. Когда мы будем готовы поместить его в систему управления версиями, папка /www
станет корневой.
Таким образом, один из вариантов заключается в том, чтобы все специфичные для сайта функции распространялись на все сайты. Я не вижу проблемы самой по себе, но это кажется архитектурно «неправильным». Там будет куча файлов, которые принадлежат только одному развертыванию.
Другим вариантом является создание отдельного хранилища для конкретных файлов каждого сайта в базе кода. Но похоже, что это может быстро стать кошмаром при попытке правильно развернуть новые сайты.
Какой лучший способ сделать это? Система контроля версий, которую мы рассматриваем, - это подрывная деятельность.