subversion
DESCRIPTION
Contains the basic stuff about Subversion, with a get started tutorial of sorts.TRANSCRIPT
Subversion Version Control
Ashraf Baig S (08Mx05)
About This Presentationo Concepts of version controlo About Subversiono Usage Guide
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.”
No Version Controlo Which version works?o Which versions have bug/feature X?o What’s the difference between versions?
Why Version Control
o Short-Term / Long-Term Undoo Backup & Restoreo Synchronizationo Track Changeso Track Ownero Branchingo Merging
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
Available Tools
o CSVo Subversiono SVKo Bazaaro Mercurialo Gito Microsoft Visual SourceSafe
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)
Subversion Overview
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.
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
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
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
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.
Thank YouQueries