Kontrola koda

aplikacijeprogramiranjerazvojtehnika narodu

Koliko programera koristi neku aplikaciju za kontrolu koda (source control)? Koliko programera uopće nije čulo da takvo nešto postoji? Koliko ga koristi na pravi način, a kojima je on samo običan backup? Koliko programera koristi neki nadomjestak po principu štapa i kanapa?

Najveći problem sa subjektom ovog posta odlično je detektirao Eric Sink: Nobody is teaching people how to do source control. Nakon postavljanja dijagnoze treba početi s liječenjem. Prvi recept je serija članaka Erica Sinka pod nazivom: Source Control HOWTO. U predgovoru je postavljena spomenuta dijagnoza, kroz 9 poglavlja se dalje opisuju tipične situacije i načini korištenja aplikacija za kontrolu koda, a u posebnim okvirima su navedeni najbolji postupci/savjeti. Prvi od njih je Use source control.

Ali što koristiti? CVS možete zaboraviti, njegovo vrijeme je prošlo iako još ima brojnu korisničku bazu. Njega polako zamjenjuje Subversion koji dio svoje popularnosti zacijelo duguje i odličnom klijentu koji se integrira u Windows Explorer. Unixaši su naviknuti na komandu liniju pa ih nije bilo teško nagovoriti da umjesto cvs naredbe počnu koristiti svn. Ja sam napravio mali odmak od tih centralističkih rješenja prema distribuiranim. Jedno vrijeme koristio sam Bazaar, čije mi slabije performanse nisu predstavljale problem. Version Control System Shootout Redux Redux priča o tome kako je za Mozilla projekt odabran Mercurial. Zaveden tom pričom i malim istraživanjem odlučio sam na migraciju. I za sada sam zadovoljan. Osim Mozille Mercurial koriste i Xen, Xine, OpenSolaris...

Prije odabira ili promjene aplikacije za kontrolu koda posjetite stranicu Better SCM Initiative. Pažljivo proučite usporedbu različitih open source i komercijalnih rješenja za kontrolu koda. Zanimljivo je da na stranici What to Avoid stoji samo jedno rješenje koje ne koristi ni firma koja ga je proizvela. Vjerujete li da postoji i nešto što je lošije od CVS-a? Ali i bilo kakav source control bolji je od nikakvog.

Prilikom razvoja neke složenije aplikacije samo kontrola koda nije dovoljna, treba tu više toga...Jedno od tih više toga rješenja je Trac koji uz sučelje prema Subversionu donosi i issue tracker i wiki. Trac koristi i Nasa u svojem Jet Propulsion laboratoriju. Ako nemate povjerenja u njega možete odabrati robusnije Java rješenje: LibreSource Enterprise.

Želite li razvijati open source programe i nemate vlastiti hosting? Možete odabrati SourceForge na kojem je trenutno 147904 registriranih projekata. Od ostalih tu su Savannah (nemoj da u vašem projektu ima išta neslobodno), The Codehaus (primaju samo zanimljive projekte, meni su poznati po tome da hostaju Boo čija je nova inačica baš izašla - 0.7.7), Google Code te Microsoftova kopija SourceForgea Codeplex.

Za razvoj komercijalnih, vlasničkih programa imate cijeli niz profesionalnih project hosting ponuda. Ja sam nedavno počeo koristiti Unfuddle. Ne sjećam se kako sam naletio na njega, ali njegov Micro plan trenutno mi pokriva potrebe jednog malog tima...



Komentari

8. svibnja 2007. 07:19

...u cijelom mom skolovanju nitko mi nije ni spomenio da postoje programi za kontrolu toka...

ja na poslu koristimo ClearCase, i cuo sam da je on najbolji, je li to istina ili samo prica...

8. svibnja 2007. 07:31

Misliš na kontrolu koda, a ne toka? :-)

Diskusije o tome koji je najbolji nikada ne završe zajedničkim zaključkom. Najbolje je ono što znaš koristiti i što odgovara tvojim potrebama. ClearCase je među najskupljim rješenjima i zacijelo ga ne bi koristili (IBM, Motorola, Siemens, Nokia i ostali velikani) da nije dobar.

8. svibnja 2007. 13:27

Thanks za resurse.

Btw, koristim Subversion nekih godinu dana ako se ne varam čak i za projekte na kojima radim solo i stvarno ne znam kako sam ranije funkcionisao bez nje.

8. svibnja 2007. 19:48

Hehe, obožavam Ericove članke, a ovaj o source controlu bi trebalo preporučiti svakom developeru, ili da nauči nešto novo ili da samo utvrdi gradivo, ovisno o stupnju znanja te teme. Eh da, mali tipfelerčić, dotični se preziva Sink sa k na kraju, ne sa c.

8. svibnja 2007. 19:49

Sorry na prvom commentu, klinac mi je uletio i lupio po tastaturi i submittao.

8. svibnja 2007. 20:19

@Tvrdy: ispravljeno c u k, na sreću url je dobro naveden. :-)