Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Basic SCM with
Subversion & Trac
     Vishnu Gopal
      www.vish.in
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...
Why?

• Continuous incremental backup.
• Ability to recall older code.
• Distributed development.
• Various versions of a ...
Central Repository
How?
• Developers checkout code from the
  repository to a local working-copy.
• After making edits, they commit changes.
...
Work with Subversion
But how does
     Subversion work?
• A system to track changes in files.
• The code is initially imported into the
  reposi...
Common Subversion
    Commands
• checkout: Obtain a new working copy.
• import: Import code into repository initially.
• c...
Subversion: Demo
GUI Tools
•   TortoiseSVN in
    Windows

•   Right-click a directory:
    get a context-menu with
    everything in there...
Project Layout
• trunk
 • All constant development happens here.
• branches
 • Special purpose development here.
• tags
 •...
Trac: Demo
Major features of Trac

• Frontend to a Subversion repository.
• Shows the changesets and timeline.
• Has a bug tracker wh...
Some good Subversion
      practices
• Follow the branches, tags, trunk structure.
• All code should be in the repository!...
Finis
The end. Questions?
Upcoming SlideShare
Loading in …5
×

Basic Source Control With Subversion

4,885 views

Published on

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

Published in: Technology

Basic Source Control With Subversion

  1. 1. Basic SCM with Subversion & Trac Vishnu Gopal www.vish.in
  2. 2. Contents • What, Why and How? • Subversion Commands • Demo: Command-line tools • GUI tools • Project Layout • Trac: overview
  3. 3. 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
  4. 4. Why? • Continuous incremental backup. • Ability to recall older code. • Distributed development. • Various versions of a single project. • Tracking bugs, timeline, goals and releases.
  5. 5. Central Repository
  6. 6. 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.
  7. 7. Work with Subversion
  8. 8. 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.
  9. 9. 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.
  10. 10. Subversion: Demo
  11. 11. 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.
  12. 12. Project Layout • trunk • All constant development happens here. • branches • Special purpose development here. • tags • Releases are “tagged” for archiving.
  13. 13. Trac: Demo
  14. 14. 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.
  15. 15. 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.
  16. 16. Finis The end. Questions?

×