Basic Source Control With Subversion

4,338
-1

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,338
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.

×