Previous Topic: Using QGPLNext Topic: Object Versions


Version Control

Objects and source should only be moved between libraries in a strictly controlled manner, so that if there are successive changes outstanding, they are implemented serially.

Every source line has a change date on it. When copying source to the development library in order to make changes, take care not to reset the source change dates; that is, do not copy a member by adding a new member and using the SEU browse/copy function to include the old version.

A problem occurs if the programming for an application takes place on two different machines at the same time. If different changes are made to the same program on both machines concurrently, transferring either version of the program to the other machine may wipe out the other set of changes.

The problem can only be avoided completely by having a one-way flow of material, or by abstaining from changing programs on both machines at the same time. Using development libraries can help control the problem of concurrent updates as only a small number of objects need examining for potentially conflicting versions.

  1. Frequent exchange of development libraries should be made to ensure that everyone is using the latest version of the source.
  2. A formal ‘import’ process should be used. The development libraries should be compared before merging to ensure that concurrent changes have not been attempted. If they have, any discrepancies will need to be resolved manually. The CA 2E Toolkit lists utilities that can be of use when comparing objects and source members.