The Revision Graph tool in P4V enables you to visualize the branching structure and code migration of any file. You can invoke Revision Graph in the Depot or the Workspace view by selecting it from the “Tools” menu or by context-clicking on a file and selecting Revision Graph.
Here is the revision graph of the ENut file showing all versions as they have traversed the branching structure of the Talkhouse project. From here, we can see all bug fixes, modifications, and other code has been propagated through the code tree.
The grey stripe indicates we brought up RG in the rel1.0 branch. We can see ENut started life in main-dev code line and has since gone through several edits while being branched a few times as well.
While the graphical view on top dominates the window, the bottom left shows some other important facts about the highlighted file version. By selecting the “Preview” tab we can get a quick look at the code in this version. This is just a viewer, not an editor, so no changes can be made here.
The box over on the right has a couple of useful functions including a legend that illustrates the meaning of the specific branching operations, and a navigation window that can be used to select a subset of larger tree.
To diff any two file versions, simply drag one on top of the other to bring them up the Diff tool. This diff is between version 1 in main-dev codeline and version 4 in rel1.0 branch. In this particular example, we can see some comments and other code has been propagated into version 4.
When we enable the “highlight” function on version 1 in the 1.5 branch, we can quickly visualize all code propagation through the development tree and see where the code for that version came from and where it went to in subsequent files.
When this tree has grown too large, you can reduce the graphic down to the elements that are most important to visualize the evolution of a code line. By enabling the filter tree to exclude the rel1.5 branch, we only have to deal with the main-dev codeline and rel1.0 branch. This is a simple example since the graphic is not very large, but the usefulness will become apparent quickly as the number of branches and file versions grow.
Once we have the graph looking like we want, we can make it the default view. Select “Filter Options” View of Current Graph, Set As Default, and then Yes. Next time you bring up the Revision Graph on this file, it will appear with your tailored view.
Lastly on Revision Graph, we can select the order in which the branches are stacked to make the presentation more logical. Using the control key in conjunction with the arrow keys will allow us to stack the branches however works best for our view. In this example, we will stack them logically starting with the main-dev codeline on top, the rel1.0 branch underneath, and the rel1.5 branch next.
This concludes our look at the RG tool.
Thanks for watching.