Basic Source Control With Subversion

  • 4,100 views
Uploaded on

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

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

More in: Technology
  • 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. http://www.slideshare.net/XEmacs/version-control-with-subversion
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
4,100
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
294
Comments
1
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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