DEV Community

Cover image for 𝐓𝐲𝐩𝐞𝐬 𝐨𝐟 𝐕𝐞𝐫𝐬𝐢𝐨𝐧 𝐂𝐨𝐧𝐭𝐫𝐨𝐥 𝐒𝐲𝐬𝐭𝐞𝐦𝐬:
Megha Sharma
Megha Sharma

Posted on

𝐓𝐲𝐩𝐞𝐬 𝐨𝐟 𝐕𝐞𝐫𝐬𝐢𝐨𝐧 𝐂𝐨𝐧𝐭𝐫𝐨𝐥 𝐒𝐲𝐬𝐭𝐞𝐦𝐬:

1. 𝐋𝐨𝐜𝐚𝐥 𝐕𝐞𝐫𝐬𝐢𝐨𝐧 𝐂𝐨𝐧𝐭𝐫𝐨𝐥 𝐒𝐲𝐬𝐭𝐞𝐦𝐬

A local version control system is a local database located on your local computer, in which every file change is stored as a patch. Every patch set contains only the changes made to the file since its last version. In order to see what the file looked like at any given moment, it is necessary to add up all the relevant patches to the file in order until that given moment.

The main problem with this is that everything is stored locally. If anything were to happen to the local database, all the patches would be lost. If anything were to happen to a single version, all the changes made after that version would be lost.

Image description

2. 𝐂𝐞𝐧𝐭𝐫𝐚𝐥𝐢𝐳𝐞𝐝 𝐕𝐞𝐫𝐬𝐢𝐨𝐧 𝐂𝐨𝐧𝐭𝐫𝐨𝐥 𝐒𝐲𝐬𝐭𝐞𝐦 (𝐂𝐕𝐂𝐒)

A Centralized Version Control System (CVCS) is a type of version control system where there is a single, centralized repository that stores the entire version history of a project. In a CVCS, each user checks out a working copy of the files from this central repository to make modifications. After making changes, the user then commits those changes back to the central repository.

Image description

𝐄𝐱𝐚𝐦𝐩𝐥𝐞𝐬 𝐨𝐟 𝐂𝐕𝐂𝐒:

𝐒𝐮𝐛𝐯𝐞𝐫𝐬𝐢𝐨𝐧 (𝐒𝐕𝐍): Subversion is a widely used CVCS that tracks changes to files and directories over time.

3. 𝐃𝐢𝐬𝐭𝐫𝐢𝐛𝐮𝐭𝐞𝐝 𝐕𝐞𝐫𝐬𝐢𝐨𝐧 𝐂𝐨𝐧𝐭𝐫𝐨𝐥 𝐒𝐲𝐬𝐭𝐞𝐦 (𝐃𝐕𝐂𝐒)

A Distributed Version Control System (DVCS) is a type of version control system where every developer working on a project has a complete copy of the repository, including its entire version history, on their local machine. Unlike Centralized Version Control Systems (CVCS), where there is a single central repository, DVCS allows developers to work independently on their local copies and synchronize changes with other repositories.

Image description

𝐄𝐱𝐚𝐦𝐩𝐥𝐞𝐬 𝐨𝐟 𝐃𝐕𝐂𝐒:

𝐆𝐢𝐭: Git is the most widely used distributed version control system. It was created by Linus Torvalds and has become the de facto standard for version control in many open-source and private projects.

𝐌𝐞𝐫𝐜𝐮𝐫𝐢𝐚𝐥: Another DVCS, Mercurial is known for its simplicity and ease of use.

Top comments (0)