<img height="1" width="1" src="https://www.facebook.com/tr?id=1599948400306155&amp;ev=PageView &amp;noscript=1">
(EU) +49-711-2195-420

(US) 1-866-468-5210


CVCS & DVCS: The Needs That Version Control Systems Serve

centralized and distributedversion control systemsVersion control systems are divided into two groups: “centralized” and “distributed”. Centralized Version Control Systems (CVCSs) and Distributed Version Control Systems (DVCSs) serve different needs in software development. In this blog post, we'll describe them and list some of the main pros and cons of both systems.

Centralized Version Control Systems

Centralized Version Control Systems were developed to record changes in a central system and enable developers to collaborate on other systems. Centralized Version Control Systems have a lot to offer, however they also have some serious disadvantages.

Some benefits of Centralized Version Control Systems:

  • Relatively easy to set up
  • Provides transparency 
  • Enable admins control the workflow

Disadvantages of Centralized Version Control Systems:

  • If the main server goes down, developers can’t save versioned changes
  • Remote commits are slow
  • Unsolicited changes might ruin development
  • If the central database is corrupted, the entire history could be lost (security issues)

Distributed Version Control Systems

Distributed Version Control Systems (DVCSs) don’t rely on a central server. They allow developers to clone the repository and work on that version. Develops will have the entire history of the project on their own hard drives.

It is often said that when working with Distributed Version Control Systems, you can’t have a single central repository. This is not true! Distributed Version Control Systems don’t prevent you from having a single “central” repository. They just provide you with more options.

Advantages of DVCS over CVCS:

  • Because of local commits, the full history is always available
  • No need to access a remote server (faster access)
  • Ability to push your changes continuously
  • Saves time, especially with SSH keys
  • Good for projects with off-shore developers

Downsides of Distributed Version Control Systems:

  • It may not always be obvious who did the most recent change
  • File locking doesn’t allow different developers to work on the same piece of code simultaneously. It helps to avoid merge conflicts, but slows down development
  • DVCS enables you to clone the repository – this could mean a security issue
  • Managing non-mergeable files is contrary to the DVCS concept
  • Working with a lot of binary files requires a huge amount of space, and developers can't do diffs

codeBeamer ALM adequately supports development in any environment. To learn more, contact us with your questions, or get your free evaluation copy.