Sistema di controllo versione

Ciao a tutti.

Chiedo scusa se sono un pelo offtopic, ma mi è stato consigliato di chiedere consiglio a voi su questo forum per la mia problematica, vista la vostra competenza.

Sono alla ricerca di un buon "sistema di controllo versione", ma mi viene richiesto che sia semplice da usare ed è di fondamentale importanza che tale sistema non preveda un server centralizzato pubblico. Deve rimanere tutto in locale insomma, e verrà utilizzato da 3/4 persone al massimo.

Questi 3/4 programmatori utilizzano Windows come piattaforma di sviluppo, ma il server può essere sia Windows che Linux.

Quello che ho trovato nelle mie lunghe ricerche su internet, e che ho fin’ora testato, sono 2 prodotti: SUBVERSION e GITHUB.

Il primo l’ho installato con discreta facilità su un server Linux, e ho provato 2 client windows (Tortoise e Smartsvn) per interfacciarmi con il server, ma ho trovato (e ovviamente anche i programmatori me l’hanno segnalato) una certa macchinosità nella gestione dei file e delle cartelle. In particolar modo quando si tratta di spostare/rinominare intere cartelle, se non si fa particolarmente attenzione, si rischia di cancellare e perdere dati importanti non solo localmente ma anche sul server.

Il secondo l’ho provato appoggiandomi al server pubblico di GITHUB (anche se ovviamente il risultato finale non vuole essere quello) poichè non sono riuscito a trovare guide o istruzioni esaurienti per installare un server “locale”, sia esso windows o Linux. Alla fine, dopo non poche difficoltà (documentazione sull’uso di Github su Windows non è che ce ne siano molte), sono riuscito a far funzionare la GIT GUI su Windows (installata da MSYSGIT). La gestione dei file sembra un po’ più “user friendly” (nel senso che si possono fare modifiche e spostamenti da Explorer, senza bisogno di usare comandi più specifici come con Tortoise), però i programmatori, non abituati a fare Commit e Push delle loro modifiche, non sono particolarmente contenti di una soluzione simile (e poi resta comunque il problema più grande: l’archivio centrale è su un server pubblico, e questo NON VA BENE).

A questo punto chiedo a voi: avete magari qualche consiglio, qualche dritta, qualsiasi cosa che possa aiutarmi a trovare una soluzione?

E’ chiaro che è un discorso utopistico, ma l’optimus sarebbe ottenere un sistema stile Dropbox, dove però i files e i progetti non vanno a finire online ma restano nella lan locale. Non chiedo tanto (o forse sì? Chiedere non costa nulla!), ma magari voi avete un consiglio più terra-terra per questo problema…

Scusate se mi sono dilungato tanto, ho cercato/voluto darvi il maggior numero di informazioni onde evitare di costringervi a chiedermi ulteriori info, sempre se vorrete aiutarmi!

Grazie mille fin da subito!

dai un’occhiata a Mercurial

http://mercurial.selenic.com/

Manuale in italiano:

http://gpiancastelli.altervista.org/hgbook-it/

Tutorial in italiano

http://mercurial.selenic.com/wiki/ItalianTutorial

Client per windows:

http://tortoisehg.bitbucket.org/

Puoi avere un server che gira in lan e su cui gli sviluppatori faranno i "push" delle varie revisioni.

Potresti provare bitbucket. E’ come github. Solo che è free: puoi avere un account “protetto” non a pagamento. In ogni caso il costo di github (che ha molte più caratteristiche) è di 7 euro al mese. non mi sembra una spesa così eccessiva.