2009-05-18 16 views

risposta

7

Diversi VCS utilizzano approcci diversi. CVS, ad esempio, creerà un file sul server per ogni file che tu impegni. Questo è essenzialmente un file in formato RCS; CVS è solo un wrapper attorno a RCS che esegue i comandi RCS su molti file in una sottostruttura di directory (RCS può funzionare solo su singoli file).

Il file RCS contiene un elenco delle modifiche (il numero di versione, il messaggio di check e quanto è stato cambiato). Successivamente viene fornita una copia della versione corrente HEAD. Il resto dei file sono le differenze tra le versioni (long explanation).

In questo modo, CVS può tornare rapidamente la versione HEAD (che è più spesso richiesto) ed è in grado di calcolare le altre versioni.

CVS non esegue alcuna convalida; se uno dei tuoi file viene danneggiato, hai bisogno di un backup. Poiché CVS è basato su RCS, non può gestire le directory delle versioni né rintracciare i nomi. CVS e RCS usano il comando standard diff(1) per creare le differenze.

Subversion (SVN) funziona in modo simile, ma aggiunge delle versioni di directory e rinomina. Inoltre, SVN utilizza un algoritmo di diff migliore (xdelta) che fornisce un repository più piccolo.

Per una spiegazione di come funziona Git, vedere here.

0

Darcs è molto diverso e IMHO più intuitivo di quelli di altri ancora distribuiti MSC. C'è una guida eccellente per i principianti su come funziona: Understanding Darcs.

Problemi correlati