Subversion

15
Subversion Version Control Ashraf Baig S (08Mx05)

TAGS:

description

Contains the basic stuff about Subversion, with a get started tutorial of sorts.

Transcript of Subversion

Page 1: Subversion

Subversion Version Control

Ashraf Baig S (08Mx05)

Page 2: Subversion

About This Presentationo Concepts of version controlo About Subversiono Usage Guide

Page 3: Subversion

What is version control?

“Revision control (also know as version control, source control or (source) code management (SCM)) is the management of changes to documents, programs, and other information stored as computer files.”

Page 4: Subversion

No Version Controlo Which version works?o Which versions have bug/feature X?o What’s the difference between versions?

Page 5: Subversion

Why Version Control

o Short-Term / Long-Term Undoo Backup & Restoreo Synchronizationo Track Changeso Track Ownero Branchingo Merging

Page 6: Subversion

Types of Versioning Systems

Centralizedo Client-Server Systemo Repository stored on serverDecentralizedo Full decentralized, no servero Each user has a copy of the full repository

Page 7: Subversion

Available Tools

o CSVo Subversiono SVKo Bazaaro Mercurialo Gito Microsoft Visual SourceSafe

Page 8: Subversion

Introduction to SVN

o Cross Platform / Open Source / Freeo Central repositoryo Atomic commito Availability of free client software / Plugin for

most known IDEso Most of Open source hosting sites support it

(Microsoft CodePlex, Google Code)

Page 9: Subversion

Subversion Overview

Page 10: Subversion

Subversion File System• One can view the Subversion file

system as “three dimensional”. The Subversion filesystem's third dimension is revisions.

• Each revision in a Subversion file system has its own root, which is used to access contents at that revision.

• Files are stored as links to the most recent change; thus a Subversion repository is quite compact. The system consumes storage space proportional to the number of changes made, not to the number of revisions.

Page 11: Subversion

Subversion Terminologyo Repository (repo): The database storing the files

o Working Copy: Your local directory of files, where you make changes

o Revision: What version a file is on (v1, v2, v3, etc.)

o Check-out: Download a file from the repo

o Check-in: Upload a file to the repository (if it has changed). The file gets a new revision number, and people can “check out” the latest one

Page 12: Subversion

Subversion Terminology

o Update: Synchronize your files with the latest from the repository. This lets you grab the latest revisions of all files

o Head: The latest revision in the repo

o Changelog/History: A list of changes made to a file since it was created

o Revert: Throw away your local changes and reload the latest version from the repository

Page 13: Subversion

Advantageso Native support for binary files, with space-efficient binary-diff

storageo Apache HTTP server as network server, WebDAV/DeltaV for

protocolo File locking for unmerge-able files ("reserved checkouts")o Full MIME support - the MIME Type of each file can be viewed

or changedo Commits are truly atomic operations. Interrupted commit

operations do not cause repository inconsistency or corruptiono Directories, renames, and file metadata are versioned. Entire

directory trees can be moved around and/or copied very quickly, and retain full revision history

Page 14: Subversion

References

• http://en.wikipedia.org/wiki/WebDAV• http://en.wikipedia.org/wiki/Subversion_(soft

ware)• http://svnbook.red-bean.com/• http://svn.spears.at/• Head First Software Development Edition 2 by

Dan Pilone. 2008. O’Rielly.

Page 15: Subversion

Thank YouQueries