The simplest way to use our package is to send a file from the Solution Explorer, set the range (select branches, define history depth,…)and finally generate the report.

Workspace organization

Because you may want to regenerate frequently your DGML report (to add or remove a file, to integrate a new branch in your exploration…), the have designed the tool to be integrated in your favorite Visual Studio as below. We can imagine you have on one side your Solution Explorer, and on the other side your TFhisto, that receive files sent from your Solution Explorer, and from which you can generate a new report.   



Generate my first report

1. In the Solution Explorer, select a file. In the contextual menu select the Send item to THhisto entry.


In the upper part of the tool you can see the file you just sent from the Solution Explorer. Based on your TFS workspace configuration, the tool load and display all the TFS branches found in the TFS Project collection currently connected.

2.  Check all the branches you wish to explore, then click on the “Generate Report” button.


3. Your first report is ready for you!


The first level of information is the branch. A branch groups all the related changesets. For better readability, we decided to represent the Change type information at the changeset level, even if this information could be wrong in a multiple file scenario (some files can have a different change type in a same changeset).

4. To better understand the history of a specific changeset, select the Changeset, after that Turn On the Butterfly mode in your Directed Graph toolbar.


5. You can now navigate in the history by double-clicking on the changeset of your choice.


From changeset 61 to 62



Advanced options

Now we have generated our first report, we can come back to the TFhisto user interface, to understand how we can control the data sent to the report.

  • We can select and unselect the branches analyzed by the tool
  • We can filter by date, changeset ID or change type.
  • We can represent Changes, display Labels, Comments and Work Items.


Lets play now with the options.

Display Changes

By default, we propose a changeset view as below


If we now want to represent the changes included in the respective changesets

> Check the first box Show change files within Changesets


Back to the butterfly mode.


Notice we leverage the TFS Web Access to get more information about changesets and changes


Another usage of our tool is the capability to identify dependencies between changesets themselves, between changeset and files… The traceability matrix is the best view to probe and analyze those dependencies.

Here is a small example from our butterfly mode.


The first limitation we have at that level is the presence of two entries (CartController.cs:61 and CartController.cs:62) for a single file, that don’t allow a simple analyze. We added the Group files option in our user interface, to merge our two changes entries in a single file. We decided is that case to introduce typed relationship between changesets and changes, to hold the change type and other kind of data.

Let’s now generate our report with this new option:


Back to the traceability matrix.


Display Labels

You may want to identify the build associated to your changeset, to understand if your change has been included or not. TO do that you just need to check the Show labels box. You optionally have the possibility to fill a full text  substring, to refine the labels you wish to display in the report.


Display comments

If your developers conscientiously fill comments at the checkin time Winking smile, it is possible to switch the report from changeset ID to changeset comments, to better analyze the origin of changes.


Display Work Items

You can integrate work items in the report, to understand the relation between a Requirement, a Bug or a simple Task with displayed Changesets. 


In the butterfly mode:


Last edited Jul 8, 2011 at 3:21 PM by carno, version 3


No comments yet.