What is SVN?

5 viewsSkills Development

What is SVN?

SVN (Apache Subversion) is a centralized version control system (CVCS). It implies that project files, along with their entire version history are kept at a single central repository (server). Developers connect to that server to get into work on the project.

CollabNet developed it in 2000 as an alternative to CVS (Concurrent Versions System) and aimed at being more robust and rich.

Why SVN Exists

  • To allow a group of people to work on code together without trampling on the work of other teams.
  • To have a complete record of all changes.
  • In order to permit a rollback in case of bugs.
  • In order to handle large enterprise projects in a systematic manner.

Core Concepts in SVN
1. Repository

  • All files and folders with their history are stored in the central storage (a server).
  • Similar to a project database with all things versioned.

2. Working Copy

  • On your machine there is a local copy of the repository that has been checked out.
  • You make amends in the working copy, and make them commit back.

3. Revisions

  • Every change (commit) creates a new revision number.
    Example: Revision 25 → Revision 26 after you commit.

  • Revisions apply to the entire repository (not just one file).

4. Update

  • Updates your local working copy with the changes that have been made in the repository.

5. Commit

  • Transfers your modifications made on the working copy to the repository.
  • Gives life to a new revision in history.

6. Branching

  • Enables developers to build a different development stream (e.g. new features or trial).
  • A branch is just a copy of the project at some point at the version, yet version controlled.

7. Merging

  • Reverts the changes in one branch to another (e.g., feature branch to main branch).
Abarna Vijayarathinam Asked question 1 hour ago
0