Jump to navigation

Version Control

Version Control



  • Travis Denny
    • System Analyst
    • Education & Natural Resources Business Segment
    • Oklahoma Office of Management and Enterprise Services

© 2012
This presentation is provided with a Creative Commons BY-SA copyright license

Configuration Management

Process of managing the code and documentation of an evolving software system.

Configuration management planning
Defining the standards and procedures that should be used for configuration management
Change management
Analysing costs and benefits of proposed changes
Version and release management
Identifying and keeping track of the versions of a system
System building
Compiling and linking software components into an application

Version Control

State or snapshot of a system's source (eg. code, documentation, other resources)

Version numbering

  • Incrementing the leftmost number indicates a major enhancement or a great deal of additional functionality
  • The middle number represents minor enhancements or additions
  • The rightmost number counts bugfixes

Support for Version Control

All version control systems provide a basic set of capabilities

  1. Version and release identification
  2. Storage management
  3. Independent development
  4. Change History
  5. Project support

Independent Development

Problem with collaboration

Diagram of the problem VCS try to solve

Independent Development

Lock-modify-unlock solution

lock-modify-unlock solution to the collaboration problem

Independent Development

Copy-modify-merge solution

copy-modify-merge solution to collaboration problem

Independent Development

Copy-modify-merge solution (continued)

copy-modify-merge solution part 2

Change History

example of change history from impact

Change History

examples of the kind of data that can be extracted from change history

Open-source Version Control Systems

  • Client-server
    • CVS
    • Subversion (SVN)
  • Distributed
    • Git
    • Mercurial
    • SVK
Jump to content