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,265

Published on

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

Published in: Technology
1 Comment
5 Likes
Statistics
Notes
No Downloads
Views
Total Views
4,265
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
309
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide

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?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×