New Page 3

Klariti Home Page

Download Templates Online

About Us Free Tools Tips Templates Affiliates Site Map

MS Word template

4  x User Guide Templates - Instant Download
Download Now!


What is Revision Control?

Revision control is an aspect of documentation control wherein changes to documents are identified by incrementing an associated number or letter code, termed the "revision level", or simply "revision". It has been a standard practice in the maintenance of engineering drawings for as long as the generation of such drawings has been formalized.

A simple form of revision control, for example, has the initial issue of a drawing assigned the revision level "A". When the first change is made, the revision level is changed to "B" and so on.

Revision Control Overview

In computer software engineering, revision control is any practice which tracks and provides controls over changes to a project's source code.

Software developers sometimes use revision control software to maintain documentation and configuration files as well as source code.

In theory, revision control can be applied to any type of information record. In practice, however, the more sophisticated techniques and tools for revision control have rarely been used outside software development circles (though they could actually be of benefit in many other areas). However, they are beginning to be used for the electronic tracking of changes to CAD files, supplanting the "manual" electronic implementation of traditional revision control.

As software is developed and deployed, it is extremely common for multiple versions of the same software to be deployed in different sites, and for the software's developers to be working privately on updates.

Bugs and other issues with software are often only present in certain versions (because of the fixing of some problems and the introduction of others as the program evolves). Therefore, for the purposes of locating and fixing bugs, it is vitally important for the debugger to be able to retrieve and run different versions of the software to determine in which version(s) the problem occurs. It may also be necessary to develop two versions of the software concurrently (for instance, where one version has bugs fixed, but no new features, where the other is where new features are worked on).

Another problem that occurs in large software development projects is that of multiple developers seeking to work on the program at the same time. If two developers try to change the same file at the same time, without some method of managing access the developers may well end up overwriting each other's work.

Some systems attempt to manage who is allowed to make changes to different aspects of the program, for instance, allowing changes to a file to be checked by a designated reviewer before being added.

At the simplest level, users can simply retain multiple copies of the different versions of the program, and number them appropriately. This simple approach has been used on many large software projects. Whilst this method can work, it is inefficient (as many near-identical copies of the program will be kept around), requires a lot of self-discipline on the part of developers, and often leads to mistakes. Consequently, systems to automate some or all of the revision control process have been developed.

Most revision control systems use a system called delta compression, in which only the differences between successive versions of files are retained, thus allowing the efficient storage of many, many different versions of files.

Some systems also provide methods for preventing "concurrent access" problems, by simply locking files so that only one developer has write access to the central "repository" at once; others, such as CVS, provide facilities to automatically or semi-automatically merge changes. In the latter type, the concept of a reserved edit means to explicitly lock a file for exclusive write access, even though a merging capability exists.

The merits and risks for file locking are hotly debated; while it can provide some protection against difficult-to-resolve merge conflicts when a user is making radical changes to many sections of a large file (or group of files) that is constantly being maintained, if the files are left exclusively locked for too long, other developers can be tempted to simply bypass the revision control software and change the files locally anyway; this can lead to more serious problems.

Some of the more advanced version control tools offer many other facilities, allowing deeper integration with other tools and software engineering processes. Plug-ins are often available for IDEs such as Visual Studio.

In particular the Wikipedia:Page history features of Wikipedia are identical in concept and practice to the revision control software discussed above, which was developed for source code control, in the decades before the inception of Wikipedia.

Popular Version Control Software

This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article Technical Writing.

Your Thoughts?

What are your thoughts on this? Drop me a line at ivan at klariti dot com


Biz Templates: Proposal Template  RFP Template  Project Management  Employee Handbook  SOPs

IT Templates: Software Development Templates  Testing (QA) Templates  Training Plan Template  User Guide

Sales Templates: White Paper Templates   Case Study Templates

$ 9.99: Acceptance Test Plan  Design Document  Requirements Spec  Test Plan  User Guide  More >>>.


Ads
 

PM TEMPLATES
Project Planning Templates

T e m p l a t e   S h o p

Acceptance Test Plan

Acquisition Plan

Action Plan

Audience Analysis

Availability Plan

Bill of Materials Template

Business Case

Business Continuity Plan

Business Plan

Business Process Design

Business Requirements

Business Rules

Capacity Plan

Case Study Templates

Change Management Plan

Communication Plan

Concept Proposal

Configuration Management Plan

Conversion Plan

Concept of Operations

Cost Benefit Analysis

Database Design Document

Deployment Plan

Design Document

Disaster Recovery

Documentation Plan

Employee Handbook

Expression of Interest

Feasibility Study

Functional Requirements

Grant Template

Installation Plan

Interface Control Document

Invitation To Tender

Maintenance Plan

Marketing Plan

Needs Statement

Operations Guide

Policy Manual

Project Management

Project Plan

Proposal Template

Proposal Forms and Checklists

Request For Proposal

Release Notes

Risk Management Plan

Service Level Agreement - SLA

Setup Guide

Statement of Work

SDLC - Software Development

Software Testing Templates

Software Requirements Specification

SOPs / Procedure

System Admin Guide

System Boundary Document

System Design

System Specifications

Security Plan

Test Plan

Training Plan

Transition Plan

User Guide Template

Use Case Templates

Verification Plan

White Paper Templates

How to Write

Business Documents

Case Studies

Grants Applications

Process Design

Proposals and RFPs

Project Management

Technical Documents & FrameMaker

White Papers

Writing for the Web

Partners

Whether you need a shopping cart, an affiliate program, ebook delivery system, ad tracking software, questionnaires and surveys, autoresponders or other Internet marketing tools, we have what you need to succeed online. Plain and simple! Thousands of clients and the top Internet Marketers have have already said so, over and over again...

These Project Planning Templates provide you with all of the project management planning documents you need, to plan projects. Every project planning template has been pre-formatted and already includes the sections, tables and practical examples you need.

Turn your email messages into revenue generators! Choose from 300+ stunning HTML templates to create unlimited campaigns, follow-up messages, and high-click-through video emails!

Give me 31 Days and I’ll Give You a Dramatically Better Blog… Guaranteed

Use our Microsoft Office templates and eMail marketing software to look more professional, save time, and make more money.

AWeber Creates Lasting Customer Relationships For You With Email Newsletters, Autoresponders, RSS to Email and Other Email Marketing Tools.

Free extras with every domain name you buy. Low cost domain names, domain transfers, web hosting, email accounts, and so much more

Writing Resources
Copyright Free Articles
Content Development
Education
Information Architecture
Writing Organizations
Writer's Guidelines
Technical Writing Ireland
10 Years As A Tech Writer
Sites We Like
Free Templates
Word Power Tips
Proposal Writing Course
Technical Writing Tips