Version Control System (VCS)

Card Puncher Data Processing


Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.


Version Control System (VCS)


Copy in another directory

Copy files into another directory (time-stamped directory). Simple but error prone because you can forget which directory you’re in and accidentally write to the wrong file or copy over files you don’t mean to.


Local Computer

VCSs a simple database that kept all the changes to files under revision control.


  • rcs


Centralized Version Control Systems (CVCSs)


Downside: The centralized server is a single point of failure. Whenever you have the entire history of the project in a single place, you risk losing everything.

This system keep a set of files and the changes made to each file over time. They store information as a list of file-based changes.


Distributed Version Control Systems (DVCSs) such as:

  • Git,
  • Mercurial,
  • Bazaar
  • or Darcs

clients don’t just check out the latest snapshot of the files: they fully mirror the repository. Every clone is really a full backup of all the data. This architecture allows to set up several types of (validation) workflows that aren’t possible in centralized systems, such as hierarchical models.


  • Trunk: Main development map
  • Branches : branches off of the trunk or of other branches
  • Tags : named/numbered releases


Discover More
Card Puncher Data Processing
Code Shipping - (Module|Component)

Module are several source scripts (compiled or not) bundled together as a mean to: group code that can be: reused. The component is then called: a library or package when distributed or a dependency...
Deploy Often Time Cost Risk
Code Shipping - Continuous (Deployment|Development|Delivery)

Continuous deployment reflects the habit of deploying new code as a series of small changes as soon as they are ready. Continuous deployment is also known as: Continuous development Continuous Delivery...
Card Puncher Data Processing
Code Versioning

Versioning permits to tell which code is newer than another. Every versioning schema will then tell which version is newer than the other one. Code is: versioned by making commit to a repository....
Data System Architecture
Data Warehousing - 34 Kimball Subsytems

This page takes back the Kimball Datawarehouse 34 Subsystem as a table of content and links them to a page on this website....

is a content-addressable file system used to track directory tree content (as defined by its creator Linux Torvald) It's not a version control...

Share this page:
Follow us:
Task Runner