Szukam umieszczenia podstawy kodu, która uruchamia kilka stron internetowych do kontroli wersji. Istnieje kilka przykładów tego kodu bazującego na witrynach na różnych serwerach wirtualnych.Używanie kontroli wersji z niehierarchicznym kodem?
Problem, z którym borykam się, polega na tym, że każda z tych oddzielnych instancji mniej więcej tego samego kodu ma podkatalogi z funkcjami specyficznymi dla witryny. Wygląda jednak na to, że systemy kontroli wersji chcą kontrolować całą hierarchię katalogów.
Na przykład każda instancja ma katalog
/www/smarty/libs/plugins/
gdzie znajdziesz funkcje site-specific dla smarty. Kiedy będziemy gotowi, aby wprowadzić go do kontroli wersji, folderem będzie katalog /www
.
Jedną z opcji jest udostępnienie wszystkich funkcji specyficznych dla witryny wszystkim witrynom. Nie widzę problemu samo w sobie, ale wydaje się, że w jakiś sposób jest "zło" architektoniczne. Będzie kilka plików, które należą tylko do jednego wdrożenia.
Inną opcją jest posiadanie osobnego repozytorium dla poszczególnych plików witryny w obrębie bazy kodu. Ale brzmi to tak, jakby szybko mogło stać się koszmarem podczas próby poprawnego wdrożenia nowych witryn.
Jaki jest najlepszy sposób na zrobienie tego? System kontroli wersji, na który patrzymy, to subwersja.
Kompilacja może być tak prosta jak skrypt powłoki dla każdej aplikacji, która wykonuje 'cp -r common-files/www; cp -r app1-plugins/www/smarty/libs/plugins'. –