Avatar billede hurra Novice
13. august 2012 - 13:10 Der er 7 kommentarer og
1 løsning

SCM og flere projekter

Det er egenligt ikke et programmerings spørgsmål, men det passer heller ikke rigtigt inden for andre af kategorierne...

Mit problem er at jeg har lavet et MEGET simpelt cms til en veninde, der absolut ikke ved noget om computere. Nu er nogle stykker af hendes veninder kommet til mig, og har bedt mig lave noget til dem også. Alt i alt har jeg nu 6 version af det samme til at ligge i mit git repository.

Det dumme er jo, at selve cms motoren er den samme i alle 6 repositories, men selve siden er forskellig for dem alle.

Kan jeg ikke gøre noget smart her? Jeg tænker at det burde være muligt at lave "ned arv" i git, så jeg et "abstrakt" repository, som bliver specialiceret i de enkelte/faktiske sider. Og så vil jeg jo gerne kunne "pulle" nye ændringer i cms motoren ud til de enkelte sider.
Avatar billede arne_v Ekspert
13. august 2012 - 15:38 #1
1 repo med shared kode
1 repo per "kunde" med specifik kode
Avatar billede hurra Novice
28. august 2012 - 12:18 #2
Det er også det jeg har nu, men det giver mig jo ikke mulighed for, på serveren at lave en "git pull", og så få seneste opdateringer på både CMS og kunde specifik kode... Eller misforstår jeg noget?
Avatar billede arne_v Ekspert
28. august 2012 - 15:03 #3
Nej - du skal lave 2 pulls.

:-)

og det er en fordel.

Hvis du laver en breaking change i motoren er det ikke sikkert at du vil opdatere alle kunder til nyeste motor med det samme.

Det er praktisk at kunne lave den opdatering hen af vejen.
Avatar billede hurra Novice
28. august 2012 - 15:20 #4
Jeg er helt enig i din udtalelse omkring opdateringer. Jeg har bare været i tvivl om hvordan jeg skulle gøre det i praksis :)

Det sådan noget i stil med det her du mener?
http://stackoverflow.com/questions/849308/pull-push-from-multiple-remote-locations

På den måde burde jeg så at kunne "git pull cms-motor" og "git push kunde"..?
Avatar billede arne_v Ekspert
28. august 2012 - 15:31 #5
Nu bruger jeg hverken Git eller PHP, saa foelgende er lidt generelt.

Du har repo's:

motor
kundeA
kundeB
kundeC

kundeX version N virker sammen med motor version M

For kundeX vil du nok stort set altid hente latest and greatest fra kundeX, men du vil eksplicit hente den version af motor som matcher.
Avatar billede arne_v Ekspert
28. august 2012 - 15:33 #6
Den eneste tricky situation er hvis du har lavet nogle breaking changes i motor som ikke alle kundeX har taget *og* du saa skal lave en haste security fix i motor.

Hvis du kun laver den security fix i head paa motor vil du skulle opdatere alle kundeX til at bruge nyeste motor.

Derfor kan du bliver noedt til at lave nogle branches med gamle versioner af motor og kun den security fix, som saa kan hentes af de kundeX som ikke er uptodate.

Lidt boevlet - men saadan er livet!
Avatar billede hurra Novice
28. august 2012 - 16:11 #7
Jeg har godt nok ikke ret meget godt at sige om clear case, men lige nu syntes jeg faktisk config specs virker ret smarte :)

Men jeg tror jeg er ved at ha tingene som jeg vil ha. Kommer du ikke med et svar, arne_v?
Avatar billede arne_v Ekspert
28. august 2012 - 16:17 #8
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester