This document summarizes the key differences between centralized version control systems (CVS) and distributed version control systems (DVCS). It explains that DVCS allow for non-linear development with features like rebasing and branching that are not possible in CVS. Examples of DVCS like Git and Mercurial are given. The document also discusses how to migrate from CVS to a DVCS and advantages of