I due non sono alternative esclusive.
Gli strumenti CVCS offrono forti funzioni di autorizzazione.
Alcuni hanno il proprio meccanismo di autenticazione incorporato ( SVN con svnserve , RTC e il suo registro utente , Perforce e il suo P4Admin ): possono avere il proprio database utente interno, dedicato ai loro strumenti.
Gli strumenti DVCS no. Vedi " Possiamo finalmente passare a DVCS in Corporate Software? ".
Nessun meccanismo di autenticazione e autorizzazione integrato.
DVCS: nessuna autenticazione :
Mentre CVCS può interfacciarsi con fonti di autenticazione esterne (come un LDAP), DVCS non ha altra scelta che interfacciarsi con fonti di autenticazione esterne, usando solo processi esterni ( openssh
, httpd
, .. dal momento che possiedono un server leggero interno non ha un'autenticazione contraria a un SVN svnserve
).
DVCS: nessuna autorizzazione :
Se si ha accesso al percorso del repository (attraverso file, ssh o http), allora si dispone dei privilegi tutti (lettura, scrittura, eliminazione, ... su qualsiasi ramo).
Se hai bisogno di un controllo di accesso a grana più fine, devi aggiungere un ulteriore livello allo strumento (RhodeCode for Mercurial o Gitolite for Git).
Questi vincoli significano che un DVCS ha solitamente diversi casi d'uso rispetto a un CVCS all'interno di una grande azienda.
Ad esempio, ho implementato entrambi , con DVCS utilizzato per consentire alle aziende di terze parti di collaborare su un code-base condiviso limitato con la società.
Considerare un DVCS consente di clonare un repository all con la sua cronologia completa , il che significava che dovevamo elaborare un meccanismo di importazione-esportazione che ci consentisse di esportare e pubblicare nel DVCS solo alcune parti del repository CVCS (grande), in modo che le terze parti possano accedere solo a ciò di cui hanno bisogno per lavorare.