Source Code Control Models

Source code control systems are built using either a centralized or distributed model.

  • Centralized Model

    In centralized source code control, a project exists in a single central repository, usually on a server. Users create a local repository on a client where they make modifications to the project, then upload their changes directly to the central repository.

    Apache Subversion® (SVN) is one example of an open-source system using the centralized model.

  • Distributed Model

    In distributed source code control, a project exists in a single central repository. Clients have two local repositories: a clone of the central repository and a working repository where users make modifications. Users submit modifications to the working repository often during development. When users finish development work, they push their changes to the central repository.

    Git™ is one example of an open-source system using the distributed model.