Introduction to Version Control
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Introduction to Version Control

  • 6,933 views
Uploaded on

Short introduction to Version Control with specific focus on Subversion

Short introduction to Version Control with specific focus on Subversion

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Also mentioned USVN during the presentation as a useful Subversion administration tool (http://www.usvn.info)
    Are you sure you want to
    Your message goes here
  • Also mentioned USVN during the presentation as a useful Subversion administration tool (http://www.usvn.info)
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
6,933
On Slideshare
6,900
From Embeds
33
Number of Embeds
3

Actions

Shares
Downloads
150
Comments
2
Likes
2

Embeds 33

http://www.slideshare.net 26
http://www.linkedin.com 6
http://webcache.googleusercontent.com 1

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. Version Control
    • Introduction / Taster
    • Use on-line resources, books or colleagues for more info
    • Solution Perspective Media
  • 2. Version Control
    • What is it
      • A method for centrally storing files
      • Keeping a record of changes
      • Who did what, when in the system
      • Covering yourself when things inevitably go wrong
  • 3. Version Control: Why?
    • Individual
      • Back-up methodology
      • Increments – know which version is live
      • Point in time marking aka. Tagging
      • Branching – release versions maintained & main development can continue
      • Change history – when features were added or amended
    • Team
      • As Individual plus:
      • Allow multiple developers (in remote locations) to work on same code base
      • Merge changes across same files – handle collisions
      • Answer who did what – blame / praise
  • 4. Version Control: Centralised
  • 5. Version Control: Distributed
  • 6. Version Control: Types
    • CVS – Concurrent Version System
      • http://www.nongnu.org/cvs/
    • SVN – Subversion http://subversion.tigris.org/
    • Git* - http://git.or.cz/
    • Bazaar* - http://bazaar-vcs.org/
    • Mercurial* - http://www.selenic.com/mercurial/
    • Monotone* - http://www.monotone.ca/
    • VSS – Visual Source Safe – Microsoft visual tool
      • * Distributed version control
  • 7. Subversion
    • Code centralised in a repository
    • Check out a working copy into a development area on local machine
    • Make changes, test etc.
    • Changes committed back to the central repository – usually with a useful comment
    • Each work session an update is performed to get changes from other team members
  • 8. Subversion
    • Change log – who, when, what
    • Check for differences between current version and any version in repository
    • Create and apply patches between tags, branches and trunk
    • Recover old versions of files, roll-back when it goes wrong
    • Recover old versions of project – single version number for all files (unlike e.g. CVS)
  • 9. Subversion Clients
    • SVN command-line tool
    • HTTP (WebDav)
    • SVN+SSH
    • Dedicated client tools for all major platforms
    • Plug-ins for IDEs e.g. Zend Studio, Eclipse
    • Automatic integration as a network drive (user doesn't need to know it's a version control system)
  • 10. Subversion Resources
    • Documentation, links to clients etc. at http://subversion.tigris.org/
    • Read Bean Book (Open Source) http://svnbook.red-bean.com/
    • Pragmatic Version Control Using Subversion – Mike Mason, Pragmatic Bookshelf
    • Version Control with Subversion – Collins-Sussman, O'Reilly (Turtles)