Email:   
Home
In This Issue
EasyPrint
Click here for the RSS feed's XML code. This is not a browser URL.
SOFTWARE CONFIGURATION MANAGEMENT
SCM version control, auditing, and reporting
By Kathy T. Evans-Davis

If you're using a version control system or source management system in your software development project, then you are wisely saving your team and yourself probable headaches down the road. If you're not using one, then I liken that practice to driving at Autobahn speeds on a U.S. highway -- it's risky, fun, and faster; but will inevitably lead to accidents or lend itself to trouble.

In the software development process, Software Configuration Management (SCM) uses tools to maintain source code and its evolution over time. SCM provides the primary capabilities of:

  • Maintaining files and file revisions in a repository
  • Detecting source change conflicts and providing multi-developer merging
  • Tracking change originators
  • Providing an association with revisions for consistent and repeatable builds

Simply put, SCM allows you to control a set of files in a repository and track revisions of those files. How does this work? Well, when changes are made to a file in a repository by a different developer, SCM identifies change conflicts and either automatically merges them or notifies the initial developer of the conflict.

This capability allows multiple developers to modify the same set of files. SCM also provides tracking accountability, and allows you to logically group files together in related sets such as source files that comprise a software image or executable.

Language used in SCM version control
Before we delve too deeply into the details of SCM version control, let's look at some basic terminology commonly used in the SCM process.

First, there's a repository, which is a central location where files are stored and managed. A repository is also called a tree. Performing a check-out is getting files from the repository to your local system's working folder. When making changes to your local files and you want them to coincide with your repository changes, then you perform an update. To check your changed files back into the repository, you perform a commit. If you and someone else changed the same file, you can bring the two changed files together, performing a merge. If a conflict between the two merged files occurs, then the commit is rejected, and the developer has to manually merge the changes. When a change is committed, a new revision is created for the file.

Multiple developers can work from the main tree (the cornerstone, if you will) of the repository, or a branch that resides on the tree. Working from branches, as shown in Figure A, allows developers to work independently without affecting the tree. When the branches are stable, they can be merged back into the main tree.





[ Next ]

ZATZ Home  ·  News  ·  Back Issues  ·  Credits/Trademarks ·  Link To Us
-- Advertisement --

2-Minute Tutorials
How do I...

  • integrate MS Office or OpenOffice with Notes?
  • create cross-tab reports and charts?
  • print serial letters and mailing labels?
  • create PDFs in Lotus Notes?


Check out the 2-minute tutorials here.
-- Advertisement --

The Ultimate Notes Domino Training Experience - Amsterdam, 11-13 November
Get in-depth technical training that you can put to use on the job right away at THE VIEW's Admin2008 and Lotus Developer2008 Europe! One registration gets you into your choice of over 70 new and updated expert know-how sessions, one-on-one consultations, hands-on labs, and more.

See complete agendas and register by 10 October to save 495 euros!
Copyright © 1998-2008, ZATZ Publishing. All rights reserved worldwide.
Editor's Login