version control and subversion l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Version Control and Subversion PowerPoint Presentation
Download Presentation
Version Control and Subversion

Loading in 2 Seconds...

play fullscreen
1 / 16

Version Control and Subversion - PowerPoint PPT Presentation


  • 345 Views
  • Uploaded on

Version Control and Subversion. Chris Coakley. Outline. What is Version Control? Why use it? Using Subversion (SVN). What is Version Control?. Alphabet Soup VCS, CVS, SVN, RCS A versioned backup system Restore project to a previous, working state A synchronized control system

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Version Control and Subversion' - betty_james


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
outline
Outline
  • What is Version Control?
  • Why use it?
  • Using Subversion (SVN)
what is version control
What is Version Control?
  • Alphabet Soup
    • VCS, CVS, SVN, RCS
  • A versioned backup system
    • Restore project to a previous, working state
  • A synchronized control system
    • You can’t edit the same files I am editing
    • Well, not without making sure it works
intelligent backups
Intelligent Backups
  • Reverse-Delta format
    • Compression Scheme
      • Stores only differences (diff, patch)
    • Most Recent Version is fastest retrieval
      • Applies patches to get old versions
  • Attributes
    • Who to blame / give credit
    • Named Versions
synchronized control
Synchronized Control
  • One person can edit a “file” at a time
  • Check-out/Check-in Model
    • Nobody actually uses that (SourceSafe)
    • Dangling Check-out
  • Check-in / Merge Model
    • Make your changes
    • Fix Conflicts
  • Fork Model
subversion specifics
Subversion Specifics
  • Subversion fixes CVS problems
    • Moving files to different directories
    • Atomic commits
    • Versioned Metadata
slide7
Why?
  • Can you think of any reason why not?
typical subversion uses
Typical Subversion Uses
  • Create a repository (once)
  • Import or Checkout repository (once)
  • Update and Checkin
  • Merge
  • Label
create a repository
Create a Repository
  • Determine Structure
  • Determine Permissions
import or checkout
Import or Checkout
  • Import - I have the files and I want to put them into the initial repository
  • Checkout - I want to start working on an existing repository
update and check in
Update and Check-in
  • Update - Updates the local files to match the central repository
  • Check-in - Update the central repository to match your local files
  • Always update before checking in (svn enforces this)
  • Always test with the latest update before checking in (not enforced)
merge
Merge
  • We both update the same file at the same time. What happens?
  • Update tells me there is a conflict
    • You checked yours in first
  • I have to merge the two updates together.
    • Before checking in
label a version
Label a Version
  • Interim Releases
    • AKA - Hey, this one works!
  • How do you maintain releases?
infrequent uses
Infrequent Uses
  • Blame
  • Fork
  • Roll back
example uses
Example Uses
  • svn help import
  • svn import final-paper http://192.168.1.102:8888/svn/xcp -m "Initial Import”
  • svn checkout http://192.168.1.102/svn/re
  • svn status
  • svn up
  • svn add foo.c
  • svn ci -m “Program now cures cancer”
  • svn resolved conflictedfile.cpp
additional help
Additional Help
  • The Subversion book
    • http://svnbook.red-bean.com/
  • The Subversion website
    • http://subversion.tigris.org/
  • Tortoise svn client (Windows)
    • http://tortoisesvn.tigris.org/