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...
...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...