Buna.
Da' colegii respectivi nu stiu sa-si faca un branch local pe care sa
ruleze testcase-urile dupa fiecare editare minora si la puncte
importante (sau seara) sa-i faca merge in trunk (sau whatever) sa-l ia
CI-ul la puricat?
Daca abia e in stare sa macine masina pe care ruleaza CC compilarea si
testele, crezi ca statiile de lucru fac treaba asta din incheietura mainii?
In plus, problemele unde e util CI nu sunt doar alea de face unu' commit
cu cod bulit. De ex. daca folosesti biblioteci de pe web, poti sa-l pui
una-ntr-una (ma rog, periodic, cu periodicitate mai mare sau mai mica) pe
CC sa-si aduca surse proaspete, si sa te traga de maneca cand a rupt
careva care habar n-are ca existi compatibilitatea. Sau doi indivizi fac
separat checkout/update, fiecare modifica altceva, ce au ei local se
compileaza, da' cand fac comit (cam in acelasi timp, sa zicem seara
inainte sa plece), modificarile puse la un loc nu mai compileaza. Sau ai
proiecte care-s module ale unui produs mamuto-monstruos, si tu ai acces si
habar doar de unele module, da' commit-ui cod care se foloseste si in
altele - n-are cine te trage de maneca decat CC. Sau faci commit la surse
care merg brici cu proiectul la care se lucreaza, da' sunt folosite si
crapa build-ul la un proiect ce nu l-a mai atins nimeni de un an, dar care
trebuie sa ramana compilabil si functional cu aceleasi surse.
Daca e Java, nu ma astept sa fie probleme de compilare locala -
majoritatea celor ce scriu cod Java au compilarea pusa pe automat, adica
IDE-ul recompileaza local dupa fiecare salvare de fisier. Problemele pe
care tre' sa le rezolve CC sunt tocmai alea de integrare intre mai multi
programatori. Rezolvarea manuala presupune update foarte frecvent local,
ceea ce mai ales cand depanezi cate o chestie grea e extrem de
contraproductiv. In echipe mai mari de zece oameni, care eventual au
milioane sau macar sute de mii bune de linii de cod in intretinere as zice
ca e chiar irealizabil.
Si btw, cand depanezi o chestie care iti scoate peri albi, si sta clientul
calare pe tine ca-ti da specificatia maine dar ii trebuia produsul ieri,
si mai ai si colegi care lucreaza in acelasi regim si rup compatibilitatea
cu codul tau la fiecare sfert de ora, si-ti zice careva sa nu care cumva
sa faci comit pana n-ai rulat toate testele posibile si imposibile, in loc
sa le lasi in carca CI-ului, ai o tentatie cumplita sa-i corectezi
deviatia de sept nazal, sau daca n-are, sa-i procuri tu una. Eventual cu
ranga.
Stima,
--
Florin Jurcovici
------------------
The Net interprets censorship as damage and routes around it. (John
Gilmore - one of the EFF founders)
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug