Údržba customizací rubrika: Programování: Jiné
Píšu takový malý eshop na zakázku a klient se rozhodl, že chce ten stejný kód s mírnými úpravami zprovoznit na jiné doméně. Změny se týkají především v povinnosti registrace před nákupem, jiným způsobem zobrazování cen a pár dalšími úpravami.
Řeším problém, jak vlastně takový kód udržovat. Nechci mít dva z 90 % stejné kódy úplně oddělené a když budu opravovat nějakou součást, muset ji opravit v obou (a v budoucnu možní i ve více) repozitářích.
Určitě někdo musel podobný problém řešit, existuje spousta firem co vyvíjí „krabicový“ software a pak jej mírně poupraví pro potřeby zákazníka. Nevěřím, že by měli repozitáře úplně oddělené.
Máte někdo nějaké zkušenosti?
Díky
Podle mě máš dvě možnosti:
1) Všechno můžeš udržovat v jednom produktu. Pokud shledáš, že ty změny nejsou tak velké, můžou to být dva eshopy s úplně totožným kódem, jen jiným konfigurákem (který něco zapne, něco přepne, něco vypne). O složitosti těch rozdílů si ale musíš rozhodnout sám, tedy zejména, jestli je tohle trvale udržitelná cesta.
2) Mít kód ve dvou, resp. třech branchích. Prakticky bych ze současné verze vytvořil jakousi "base" branch se základní funkcionalitou. Pak bych vytvořil další dvě branche, každou pro jednu verzi eshopu. Pokud by se týkala změna jen jedné nebo druhé verze (tj. třeba jednu chceš přemalovat na růžovo a v druhé chceš nahoře přidat banner), prováděl bys takové změny v těch konkrétních branchích. A pokud bys dělal změny, které mají ovlivnit oba eshopy (typicky bugfixy atp.), měnil bys to v oné "base" branchi, kterou bys potom vždycky mergnul do obou specializovaných branchí.
V praxi bych to udělal v GITu dokonce jako dva repozitáře (byť to není nutnost), které mají sdílenou tu jednu base branch, kterou bych držel v repozitáři třetím. Tím pádem společné změny děláš jen jednou a merguješ pak do kolika různých verzí produktu potřebuješ.
Pro zobrazení všech 4 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře