Thursday, September 27, 2012

Preview - Gap detection when reviewing changes (Eclipse & VS clients)

A developer gets often asked to review the changes associated to a work item. What if some change sets are missing? The new Change Summary view detects inconsistent situations automatically for you.


In the above example, the reviewer selected the change sets associated to the work item to be reviewed and clicked 'open'. The Change Summary view shows which files are modified by these change sets. The file MobileWebView.java is flagged with a special decoration - a red square and a description 'in 2 disjoint change sets'. What is so special about this file?

The reviewer decides to double-click on this element. Instead of a compare editor showing the changes to that file, a prompt comes up.

 

The file MobileWebView.java is modified by 2 disjoint change sets, i.e. change sets that aren't related to each other because they refer to unrelated versions of MobileWebView.java. The Details pane comes up automatically in this case, showing the change sets that have a gap as shown below. The dependency graph is actually disconnected (broken green and red graphs).


The reviewer can ping the developer on the work item and ask him or her if they have forgotten to associate a change set to the work item. In this case, the developer had associated a change set to a different work item by mistake. After moving it to the correct work item, the reviewer could review the three change sets together correctly.

Note. In certain situations, disjoint change sets are expected and perfectly valid (e.g. developer had to do multiple change sets intertwined with deliveries from other team members). The reviewer will simply review each disjoint change set through the Details pane.

Note. Prior to 4.0.1, there was no Details pane. Disjoint changes were represented as multiple nodes in the Change Explorer view with no identifier about which change set they originate from. In 4.0.1, the Change Summary pane and the Details pane provide more comprehensive information in these situations, making code review both efficient and safe.

Note. Visual Studio client figures the same details pane support in the Change Summary view, as illustrated below. This feature was jointly developed in 4.0.1 by a feature team working simultaneously on the Eclipse, Visual Studio and Server development. In prior releases, different component teams were responsible for adopting new features, usually in different milestones.


Note. Expect to be able to try out this new feature with 4.0.1 M4. As we are transitioning toward feature teams and continuous delivery, I am experimenting with previewing our latest work on this non official blog. Go to jazz.net for the latest milestone build and official new and noteworthy. There is no guarantee a preview will make it to a stable build.

1 comment: