The Time-Lapse View tool in P4V enables you to view and contrast all versions of a file in just one window. You can invoke Time-lapse View in the Depot or Workspace view by selecting it from the “Tools” menu or by context-clicking on a file and selecting Time-lapse View.
This is the Time-Lapse View window showing the EBolt file. The numbers under the slider mechanism here and over in the left column are file versions. The content to the right is the actual code in the version of the file selected. On the bottom, you will see tabs that provide lots of additional detailed information on the file version in view.
In this basic view, we are looking at the file as is existed in Version 1. We can move the slider across to view any other version of the file instantly. This is version 1, version 2, version 3 and so on…
The number in the column to the left shows the file version where the current line or segment appeared. A number to the right will show where the current version segment is deleted or modified. If there is no number on the right, there are no future changes to that segment.
To get a little help distinguishing the new changes from the old, let’s bring up the gradient tool. The most recent changes are shown in bright green. As the changes travel back in time, they fade to lighter shades.
We also have the option to change the scale to view by date or changelist numbers. On the slider mechanism and left columns, you can see the number now indicates changelists instead of file versions.
If we are curious about who made a specific change, we can select “show user information” affectionately known as the “blame button.” When this is on version 1, John Wakemen will be the person responsible for everything. But as you move the slider, the name on the left shows who implemented each change. The name on the right shows who is responsible for any upcoming changes.
We can enable line numbers by selecting this button. This will be helpful if you need to get someone on a telecon and reference a line of code. If you are looking for some specific code, you can use the text search function available on the tool bar.
We have been looking at single revisions up to now, but we also have other viewing modes. If we select “dates” as the timescale and set the slider to the incremental mode we can view the modifications between file versions on Feb 21 and March 1. The red strike-through represents lines that were deleted in the file in the version range selected. The blue text represents lines that were added.
To view a particular range of numbered changes, we select the versions scale and the multiple revisions mode. Using the slider, we can select versions 7 through 10 and view only the changes between those versions. We can see that a couple numbers were changed, and then changed back. This capability is a real strength in Time-lapse View because often times the code comments do not provide the necessary detail on why the change was made. By reviewing the file in Time-lapse View you can see the actual code, along with the associated changelist descriptions to gather more info on the reason the change was made.
If we select the Lifetimes tool, a second vertical column with the dotted line will appear providing us with a high-level view of the duration of a line or segment of code. This is very useful when combined with the multiple revisions view since we can quickly narrow down a subset of versions for review by ignoring the grey areas where there are no changes, and focusing on the new red and blue segments.
To view file versions across more than one branch of code, we select the “Show branch history” button up here. Notice there are more versions to view, and the depot location now appears near the top of the slider. These versions are from the main-dev branch, and these are from rel1.0.
If we want more detail on the integration, we can slide back to the point of branching, and context-click to bring up a menu of available tools. Selecting Revision Graph would be useful to quickly see what other files may have fed content to this version. Or we can do a quick diff to see the changes between this early version and what we have in our workspace currently.
This concludes our look at the Time-Lapse View tool.
Thanks for watching.