RADE |
Source Code Manager |
Changes History Graphic ToolThe GUI for displaying object change history |
Quick Reference |
AbstractThe Changes Graphic Tool is a tool that displays the history of all changes applied on a given object. This allows to understand the evolution of the object by seeing the origin of each change (previous change, origin workspace, author, etc). |
Conversely to the adl_ds_chg command [1] whose purpose is to display information about one object currently visible in a given workspace, the Changes History Graphic Tool is a tool that gives a general view on all changes that happened on one object since its creation. Like managed internally, the history of the five types of changes appears as five oriented graphs where nodes are change versions and arrows give the origin of each version.
As the five types of changes are managed separately by SCM, the corresponding graphs are displayed in separate panes.
Remember that the tool displays information about the origin of each version, not about those currently visible in users' workspaces.
[Top]
The interface is split in two parts:
The icon bar contains
Each graph is composed of
for
changes of type file content,
Warning: when the file content of a change is not accessible, the
following icon is used :
and the Open, Project, Compare actions are disabled.
for
changes of type move,
for
changes of type delete,
for
changes of type change of executable rights,
for
changes of type description.
Warning: in the graph of changes of contents, some of the arrows going to a
node can be in grey (like the exemple below).
This means that the file content of this node is the same that the change
linked to it with the orange arrow.
In the exemple below, the file content of version 3.Dev1T1DOC is the same as
the one of version 2.PrjT1DOC,
so the link between 3.DevT1DOC and 2.DevT1DOC is not pertinent.
Figure 1: the Changes History's interface |
[Top]
To launch this tool, you have first to launch the federate graphic tool by the command adl_gui. For more informations, have a look for its documentation.
When started, the program displays the main window and the following dialog box to enter the object of which the history is to be displayed.
Figure 2: Dialog box for specifying the SCM object
|
This dialog window provides radio buttons to
specify which kind of information is to be entered for identifying the
object. This object is always either a directory or a file and this object
can be specified
This dialog saves the search path. To launch the search on a previous entered path, click on the arrow button on the right of the list to display choices. |
The usual way is to enter the "user" name of the file or directory you want to retrieve. Then if you think that there is a good chance that there is only one file having this name whatever its location is inside a workspace image file tree, you can unselect the check box "Path from root". Conversely if you guess that a lot of files exist with this name (for instance "IdentityCard.h" or "Imakefile.mk") it should be better to give a path from the workspace image root directory. (See "Multiple Objects Having the Same Name" to know what happen in such a case).
Entering an object identifier is not an usual way to access it. Nevertheless it is interesting to be able to enter it instead of a file name in case another command gave it and we want to know to which object it corresponds.
Like for the object identifier, it is interesting to enter a change identifier in case another tool gave it, otherwise it is easier to manipulate file names. Note however that entering a change identifier will lead to select automatically the corresponding node in the corresponding graph.
All the objects managed by SCM have a unique identifier which is computed when they are created. This identifier is used internally by SCM commands because the user name is just an attribute that is not unique and that can be changed at any time. This is not the case for a SCM identifier which is unique and does never change.
Some SCM commands can print this identifier. For instance the adl_ds_chg [1] command gives it at the beginning of output.
$ adl_ch_ws cga_dev $ adl_ds_chg TCKManagement\TCKClientServer.m\src\TCKMngr.cpp TCKManagement\TCKClientServer.m\src\TCKMngr.cpp Type: File element Id:
C+44nh5cn9+3++++vk+9 |
Any change applied on an object is registered by SCM in association with an unique identifier. It is the same kind of identifier as for an object.
For instance, the adl_ds_chg command gives the identifiers associated with all the five type of changes associated with a file.
$ adl_ch_ws cga_dev $ adl_ds_chg TCKManagement\TCKClientServer.m\src\TCKMngr.cpp Change of deleted Id: ++++-C+44nh5cn9+3++++vk+A State: Not
deleted Move Id: ++++1C-UCNB5cn9+3++++u++7 Folder: "TCKManagement\TCKClientServer.m\src"
Name: "TCKMngr.cpp" Change of content Id: ++++mCz2pJ5mz63I3+++06+In Content Id:
Cz2p9rmz63I3+++06+Bp Change of executable Id: ++++-C+44nh5cn9+3++++vk+E State: Not
executable on UNIX Change of description Id: ++++-C+44nh5cn9+3++++vk+F Summary:
None Associated content Id: None |
[Top]
The first pane that is displayed is the changes on file contents. Others changes are available by clicking on the corresponding pane: However, when a change identifier is given, the corresponding pane is automatically displayed and the corresponding version is highlighted.
Content | This pane is the default pane and contains the graph of changes on file contents. It is not active for folder objects. |
Move | This pane contains the graph of object renaming (see adl_mv [2]).. |
Creation/Deletion | This pane contains the graph of creation and deletion. Each node corresponds to the execution of either adl_rm [3] or adl_unrm [4] command. |
Execution rights | Only one node is available right now for this graph and corresponds to the initial rights of the objects and they have been specified through its creation type (see adl_ls_type [5]). |
Description | Actually the graph is reduced to one node that corresponds to the creation of the object (right now, there is no user command for setting the object description). |
[Top]
Default characteristics are displayed to the right side of each change version: they are the version identifier and the user who has created this version. Other characteristics can be displayed. They are available by checking them in the settings window. Here are the characteristics that can be chosen:
[Top]
Any user can change the default settings by selecting the "settings" item in the "Tools" menu. These settings are saved between sessions.
Selecting Information to Display
The settings window proposes two panes:
When the user clicks on the "Ok" button, the new settings are saved in a file dedicated to this user. The "Cancel" button is used to close the window without taking into account any changes performed on the default settings. The "Apply" button is used to apply the changes without closing the settings window. The "Default" button is used to reset all settings to the default ones (set by the tool). |
[Top]
The program uses default tools for viewing of
comparing files. Any user can replace these tools by his own tools: select
the "Tools" panel in the settings window and enter the path to the new
tools. Note that different tools are proposed regarding the current platform but only those defined for the current platform are proposed for modifications. On Windows platform the default tools are "notepad" and "vdiff32". On Unix platform the default tools are "vi" and "xdiff". |
[Top]
The user can interact with the changes of the graph by two ways:
The possible choices are different depending on the change :
If the file content is not accessible(), the Open, Project and Compare items are disabled.
[Top]
Select the item "Open" in the contextual menu: this will cause the corresponding file contents to be extracted into a temporary file and the editor launched on it:
The name of the temporary file is computed according to the version identifier and the file name of the corresponding object.
The file is not extracted for edition. Changes on its contents won't produce any new version in the SCM database.
[Top]
Select the item "Project" in the contextual menu: this will causes the following dialog box to be opened for entering the target file name. The default name is the same as for opening a version and is computed regarding the version to project and the file name of the corresponding object.
Figure 6: target file name for projection |
Another file name can be entered and a directory browser can be opened by clicking on the "Browse..." button. |
The file is not extracted for edition. Changes on its contents won't produce any new version in the SCM database.
[Top]
It is possible to compare the contents of two versions of a file.
One way is to select one change, select the "compare with..." item in the contextual menu and then click on another version.
One second way is to select one change and then to press on the "shift" key and click on the second version using any button of the mouse. When the contextual menu appears, select the item "Diff" and this will causes the two versions to be extracted in temporary files and the "diff" tool run on them.
Windows-NT: the "vdiff32" program is launched with two temporary files.
Unix: the "xdiff" program is launched with the two temporary files.
The names of the temporary files are the same as when opening or extracting versions, so it helps to identify them within the "diff" tool when this tool displays the names of files being compared.
[Top]
This menu displays the list of the workspaces where this changes has been propagated.
Notice that in the fourth column, two information are displayed : the revision of the workspace in which the change appeared and the last revision of the workspace.
[Top]
This menu allows to know if the selected change is seen in a particular workspace.
The following dialog box asks for the workspace name or the workspace revision:
The result of this operation is given in the information panel.
The following information are given:
- the version selected,
- the version seen in the given workspace or workspace revision,
- the inclusion or not of one version in the other.
[Top]
Open the folder of this object in a new window
This item is only available for the changes of type move. As it can be very interesting to have information about the englobing folder of an object, this one is opened in another window to allow to keep the first window opened on the original object.
[Top]
All the items are always availabled exept the "Show checkouts" item which has no sense for a directory element.
Search the change seen in workspace
This item is very useful to know which version of a SCM object is seen in a particular workspace or workspace revision.
The following panel is shown (it is the same than the item "Show is this version is seen in workspace" when using the change contextual menu).
When the change seen in a workspace or workspace revision is found, the graph is focused on this node and the information panel indicates which change it is.
[Top]
This item allows to know which is the last change made in a particular workspace or made by a particular user.
The following panel is shown:
When the last change made in a workspace or made by a user is found, the graph is focused on this node and the information panel indicates which change it is.
[Top]
When the tool is started and a file (or an object identifier) is entered, the program displays information about files that are currently checked-out in workspaces. This information is given because a check-out operation does not create any new version; a new version will be created for the new file contents during the check-in operation (see adl_ci [6]). This feature is available also when changing the object whose version graphs are currently displayed.
As these information disappear from the information pane as soon as a version is selected, it is possible to display by using the menu bar or the contextual menu out of a node (selecting the item "Show checkouts").
[Top]
See the Settings section.
[Top]
This case does not occur when using an object identifier because it is unique.
Otherwise it is possible to enter a file name (short name or path name) that may correspond to different SCM objects because
What is important to know is that the research is done on all objects that have had the given name at a given time and not the first or last name of them.
When several objects are found for the same name, the program displays the list in order to let the user aware of that and to let him/her to decide which one is to be used for retrieving changes.
Figure 7: multiple objects with same name |
Information displayed in the list should help the user to decide which object interests him/her. From the left to the right those information are:
On the figure 7, the user can see that there is only one file named "fic1.h" in the workspace DevT1DOC.
[Top]
Figure 9: forgotten change |
In the figure 9, we can see two versions made in a same
workspace in parallel :
The version "5.1.PrjT1DOC" is older than "5.2.PrjT1DOC". As the two version belong to a same level and have been made in a same workspace, we can conclude that the version 5.1.PrjT1DOC is a version that has been forgotten (see adl_forget_chg [7]) and a new check-out have been performed afterwards, creating the version 6.2.dev1.
|
[Top]
[Top]
Version: 2 [Jan 2005] | Modifications in GUI and contextual menus |
Version: 1 [Nov 2001] | Document created |
[Top] |
Copyright © 2000, Dassault Systèmes. All rights reserved.