revision control systems
Download
Skip this Video
Download Presentation
Revision Control Systems

Loading in 2 Seconds...

play fullscreen
1 / 15

Revision Control Systems - PowerPoint PPT Presentation


  • 245 Views
  • Uploaded on

Revision Control Systems. Carmen Serrano 4/8/08. Outline. What is Revision Control? Simple Examples Benefits Definitions Best Practices Version Control Systems Clients. What is Revision Control?.

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 'Revision Control Systems' - Philip


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
revision control systems

Revision Control Systems

Carmen Serrano

4/8/08

outline
Outline
  • What is Revision Control?
  • Simple Examples
  • Benefits
  • Definitions
  • Best Practices
  • Version Control Systems
  • Clients
what is revision control
What is Revision Control?
  • “A combination of technologies and practices for tracking and controlling changes to a project’s files, in particular to source code, documentation, and web pages.” (Fogel)
simple examples
Simple Examples
  • Manual versioning
    • MyAwesomeGame1.java, MyAwesomeGame2.java, MyAwesomeGame3.java…
  • Wikipedia
    • Multiple contributors per article
    • Edits to article become new version
    • Retain previous versions of article
benefits
Benefits
  • Productivity
  • Interdeveloper communications
  • Release management
  • Bug management
  • Code stability
  • Attribution and authorization of changes
  • Experimental development
definitions
Definitions
  • Repository – stores files under version control and information on changes. May be centralized or decentralized.
  • Checkout – obtaining a local copy from the repository.
  • Commit/check-in – a change to a local file is stored in the repository
  • Working copy – local copy of project (user’s private copy)
  • Update – incorporates changes in the repository into your working copy
  • Revision – a particular version of a file or set of files; also changeset, a set of changes committed as one
definitions7
Definitions
  • Tag – label for a set of files; snapshot of project
  • Branch – a copy of the project undergoing separate development from the main branch or “trunk”
  • Merge – combining two changes in a file into a new revision; also combining branches
  • Conflict – when a change to the same part of a file is made by two users; must be resolved manually
  • Lock – prevents other users from changing a file
    • Two models: lock-modify-unlock, copy-modify-merge
setting up
Setting Up
  • Install on server (repository location)
  • Install on user machines
  • Optionally install GUI client
  • Set up repository and access
best practices
Best Practices
  • Version all editable information
    • Source code, documentation, textures
  • Don’t include generated files
    • Ex: executables
    • Some exceptions:
      • Exported textures and models
      • Executable of release
  • Dependent on project and developer/manager preferences
daily best practices
Daily Best Practices
  • Update before starting
  • Commit before leaving
  • Include informative comments in commit log messages (!)
  • Inform other programmers of commits (when appropriate)
version controls systems
Version Controls Systems
  • CVS (Concurrent Versioning System)
    • Created by Dick Grune in 1986
    • Incredibly popular, especially in open-source world
  • Subversion
    • Started in 2000; released 1.0 in 2004
    • Created to fix shortcomings in CVS (and replace it)
  • Visual SourceSafe & Team Foundation Server
    • By Microsoft
    • Integrates with Visual Studio
cvs vs subversion
CVS vs. Subversion
  • CVS
    • Commonly used, well known
  • Subversion
    • Similar interface to CVS
    • Atomic commits
    • Repository flexibility
    • Reduced costs of branching and tagging
    • More efficient commits
gui clients
GUI Clients
  • WinCVS
    • Very popular
  • TortoiseCVS
    • Windows shell integration
  • TortoiseSVN
    • Based on TortoiseCVS
    • Examples
references
References
  • Fogel, Karl. Producing Open Source Software: How to run a successful free software project
  • Nagel, William. Subversion Version Control.
  • Subversion Project Home. http://subversion.tigris.org/
  • David, Jean-Luc, Gousset, Mickey, Gunvaldson, Erik. Professional Team Foundation Server.
homework questions
Homework Questions
  • 1. What is a commit?
  • 2. What is one benefit of using a revision control system?
ad