Comparison between Centralized and Distributed Version Control Systems [closed]

From my answer to a different question:

Distributed version control systems
(DVCSs) solve different problems than
Centralized VCSs. Comparing them is
like comparing hammers and
screwdrivers.

Centralized VCS systems are
designed with the intent that there is
One True Source that is Blessed, and
therefore Good. All developers work
(checkout) from that source, and then
add (commit) their changes, which then
become similarly Blessed. The only
real difference between CVS,
Subversion, ClearCase, Perforce,
VisualSourceSafe and all the other
CVCSes is in the workflow,
performance, and integration that each
product offers.

Distributed VCS systems are
designed with the intent that one
repository is as good as any other,
and that merges from one repository to
another are just another form of
communication. Any semantic value as
to which repository should be trusted
is imposed from the outside by
process, not by the software itself.

The real choice between using one type
or the other is organizational — if
your project or organization wants
centralized control, then a DVCS is a
non-starter. If your developers are
expected to work all over the
country/world, without secure
broadband connections to a central
repository, then DVCS is probably your
salvation. If you need both, you’re
fsck’d.

Leave a Comment