Source Code Management (SCM) Framework
Revelation Software’s Source Code Management (SCM) Framework provides the tools to track all changes to source code within a system/application. The SCM saves entire source code and system object records.
Enabling Source Code Management
Source Code Management is enabled using an Environment setting. The ENV_<application> record in the SYSENV table stores the Environment settings. Position 67 in the record contains a boolean referred to as ENV_SOURCE_CODE_MANAGEMENT$. By default the value is FALSE. When TRUE, Source Code Management is enabled.
The Database Manager's Environment Settings window contains a check box control to enable the Source Code Management.
By default, the Enable Source Code Management option is not checked.
Source Code Tracking
When the SCM is enabled all changes made to source code records contained in SYSPROCS are saved in the SYSPROCS_VERSIONS table. The key structure is <Program Name>*<Application Name>*<Time Date Stamp>*<Hash Value>. Changed compiled objects are stored in the SYSOBJ_Versions table. The key structure of the record is <Program Name>*<Application Name>*<Time Date Stamp>*<Hash Value>.
The SCM Menu
The Editor++ contains the SCM menu. Each SCM menu launches a different window.
Menu Item | Use |
---|---|
SCM Panel | Shows information about the currently active program or the user can choose a program from a list of all entries in the SYSPROCS table. Clicking on an individual row will show the program in the editBox at the bottom of the screen. When two rows are selected , a compare button becomes enabled, and when clicked, the two selected program are loaded into the Compare screen, documented below. Highlighting rows and then clicking on the Delete button will delete the records from the SYSPROCS_VERSIONS and SYSOBJ_VERSIONS tables. The Delete_All button will delete all point-in-time records from both tables. The MAKE Live button will take the version as indicated by the highlighted row and make it the live version of the source, and the live version of the Object as well. |
Versioning | This screen lets the user select a series of programs using the same criteria as fond in the RDK screen. Once the list has been populated, the developer can assign version numbers. The screen shows the current version. The next version number is set by the developer – there is no process for doing this automatically. |
Modules | This screen lets the user select a series of programs using the same criteria as fond in the RDK screen. Once the list has been populated, and the developer had selected a module name from the Module Name dropdown, the developer can assign the program to a module. (Modules are created in the RTI_SYSREPOSMODULES screen – not hooked up anywhere yet) A program can be assigned to multiple modules. The Remove From Module button active then a module list is populated, and when clicked, will remove the highlighted rows from the module definition. |
Difference | This screen lets the user choose two entries from the SYSPROCS_VERSIONS files, and when they press the Compare button, the two programs are compared. The differences between the two programs – code only in the original program (on the left), code only in the new program (on the right) and spacing (for readability purposes) are configured by the user by selecting the Color Setting menu choice, whice call up the SCM Difference Color Chooser screen (RTI_SCM_SHOW_DIFF_COLOR_CHOOSER). The other options on the Options menu are self explanatory. |
Version Master Screen | This screen shows summary information for all the entries in the SYSPROCS_VERSION table. |