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)