Использование контроля версий с неиерархическим кодом?

Я собираюсь поместить базу кода, которая запускает несколько веб-сайтов, в систему контроля версий. Есть несколько экземпляров этой кодовой базы, на которых веб-сайты работают на разных виртуальных серверах.

Проблема, с которой я борюсь, заключается в том, что каждый из этих отдельных экземпляров более или менее одного и того же кода имеет подкаталоги с функциями, специфичными для сайта. Но похоже, что системы контроля версий хотят контролировать всю иерархию каталогов.

Например, у каждого экземпляра есть каталог

/www/smarty/libs/plugins/

, где вы найдете специфичные для сайта функции для smarty. Когда мы будем готовы поместить его в систему контроля версий, папка / www будет корнем.

Итак, один из вариантов - сделать так, чтобы все специфичные для сайта функции были доступны для всех сайтов. Я не вижу проблемы как таковой, но это кажется архитектурно «неправильным». Будет куча файлов, принадлежащих только одному развертыванию.

Другой вариант - иметь отдельный репозиторий для конкретных файлов каждого сайта в базе кода. Но похоже, что это может быстро превратиться в кошмар при попытке правильно развернуть новые сайты.

Как лучше всего это сделать? Система контроля версий, которую мы рассматриваем, - это подрывная деятельность.

5
задан user151841 31 January 2011 в 14:38
поделиться