|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Advertisement --
AUTOMATE LOTUS NOTES USER ID MANAGEMENT
ID Manager 4.5 from HELP Software provides a new level of automaton for managing Lotus Notes IDs. ID Manager lets Lotus Notes administrators get out of the business of creating and managing user IDs. Use our ROI calculator to see how quickly ID Manager will pay for itself.
Learn more about HELP Software products |
-- Advertisement --
Want The Top Lotus Experts By Your Side Without Paying Hefty Consulting Fees? Look No Further.
Like having a team of consultants by your side -- ones who have all the answers and never make mistakes -- THE VIEW gives you immediate access to field-tested instruction, guidance, and best practices from the brightest Lotus professionals around.
Join your peers who realize their Lotus technology is too important to let people from blogs and forums tell them how they should implement it, run it, and use it. THE VIEW is where only the world's top Lotus experts provide validated support to you on a weekly basis to ensure you work more efficiently, get more out of your Lotus technology, and stay clear of costly mistakes.
Check out the new instruction, tips, and best practices added to THE VIEW this week. |
|
|
|
|
|
|
|
|
|
|