1 / 16

Version Control and Subversion

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

betty_james
Download Presentation

Version Control and Subversion

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Version Control and Subversion Chris Coakley

  2. Outline • What is Version Control? • Why use it? • Using Subversion (SVN)

  3. 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

  4. 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

  5. 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

  6. Subversion Specifics • Subversion fixes CVS problems • Moving files to different directories • Atomic commits • Versioned Metadata

  7. Why? • Can you think of any reason why not?

  8. Typical Subversion Uses • Create a repository (once) • Import or Checkout repository (once) • Update and Checkin • Merge • Label

  9. Create a Repository • Determine Structure • Determine Permissions

  10. 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

  11. 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)

  12. 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

  13. Label a Version • Interim Releases • AKA - Hey, this one works! • How do you maintain releases?

  14. Infrequent Uses • Blame • Fork • Roll back

  15. 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

  16. 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/

More Related