il migliore, almeno lo ritengo io tale e come me tanta gente, è SVN
cercalo su google
funziona sia su windows sia su linux
l'unica cosa che devi fare manualmente è creare il repository, con i comandi manuali, ma a parte questo (che ci vuole una frazione di secondo svnadmin create path/repository) c'è l'interfaccia chiamata
tortoisesvn
che è una bomba, funziona su windows, si integra con l'explorer e funziona veramente bene!
per avviarlo come server (e lo devi fare altrimenti nn va una ciappola) basta che avvii svnserve dandogli la root dei tuoi repository
se ad sempio metti tutto dentro
c:\svn\repositories
e dentro con svnadmin crei
svnadmin create c:\svn\repositories\WebProjects\SoftwareCAIO
svnadmin create c:\svn\repositories\WebProjects\SoftwareTizio
svnadmin create c:\svn\repositories\WebProjects\SoftCiccinello
e cosi via
mettendo
svnserve c:\svn\repositories
poi quando vai a inserire il percorso del repository ti basta fare
svn://localhost/WebProjects/SoftwareCAIO
perché tutto è poi relativo a quel percorso
puoi anche assegnare username e password o mettere accesso libero a tutti, anche se ti consiglio di mettere user e pass in modo che i vari update del codice sorgente contengano chi ha fatto la modifica oltra alla data e ora e alla relativa descrizione (che ti consiglio di mettere SEMPRE e farla più descrittiva possibile)