Basic Source Control With Subversion
Upcoming SlideShare
Loading in...5

Basic Source Control With Subversion



A talk I gave at Torque on 6th Sep, 2007

A talk I gave at Torque on 6th Sep, 2007



Total Views
Views on SlideShare
Embed Views



3 Embeds 33 21 9 3



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Nice, brief overview. Have used it mostly unchanged for a lecture.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Basic Source Control With Subversion Basic Source Control With Subversion Presentation Transcript

  • Basic SCM with Subversion & Trac Vishnu Gopal
  • Contents • What, Why and How? • Subversion Commands • Demo: Command-line tools • GUI tools • Project Layout • Trac: overview
  • What? • Subversion maintains snapshots of the code repository. • Allows many people to concurrently work on a codebase. • Subversion is source control with a central repository. • Usually integrates with a frontend: Trac View slide
  • Why? • Continuous incremental backup. • Ability to recall older code. • Distributed development. • Various versions of a single project. • Tracking bugs, timeline, goals and releases. View slide
  • Central Repository
  • How? • Developers checkout code from the repository to a local working-copy. • After making edits, they commit changes. • At any point, they can revert to an older version of the codebase. • They update their local working copy frequently to keep up with changes.
  • Work with Subversion
  • But how does Subversion work? • A system to track changes in files. • The code is initially imported into the repository. • Then a special “subversion-aware” directory is checked-out. • Developers commit and update. • Subversion tracks the changesets and the commit-log.
  • Common Subversion Commands • checkout: Obtain a new working copy. • import: Import code into repository initially. • commit: Update repository with changes. • update: Update working-copy with changes. • Other commands: revert, move, copy, merge.
  • Subversion: Demo
  • GUI Tools • TortoiseSVN in Windows • Right-click a directory: get a context-menu with everything in there. • Useful Integration with diff and patch. • Reasonably fast.
  • Project Layout • trunk • All constant development happens here. • branches • Special purpose development here. • tags • Releases are “tagged” for archiving.
  • Trac: Demo
  • Major features of Trac • Frontend to a Subversion repository. • Shows the changesets and timeline. • Has a bug tracker which integrates with the Subversion commit-log. • Simple project management.
  • Some good Subversion practices • Follow the branches, tags, trunk structure. • All code should be in the repository! • Update code at the start of every day. • Only commit coherent changes. • The central repository should always be consistent. • Branch as less as possible.
  • Finis The end. Questions?