Sometimes it doesn’t hurt to talk again about things we covered in the past. I must admit that before writing this post I was wondering whether or not people would find value in it as the Commit Graph isn’t really a brand new feature. But a couple discussions with some folks in Atlassian convinced me that not everyone knew all the great things that you could achieve with it.

Taking this in account and thinking about all the new developers adopting our tools everyday I decided to write something that would help all new users of FishEye and Crucible to get more out of their instance and, if you have been with us for a long time, just take it as a fresh reminder of something you can use everyday to understand what’s going on with your code.

In this post I’ll cover the following topics:

  • Interacting with the Commit Graph
  • Highlighting all the parents of a particular commit
  • Tracking all commits related to a particular JIRA issue
  • Quickly checking which changesets are not reviewed yet
  • Creating reviews straight from the Commit Graph

Interacting with the Commit Graph

This will be rather quick as there are mainly 3 components that you will need to know to use the Commit Graph:

  • Highlight selector
    This dropdown lets you select which highlighter you want to use on the graph.
  • Branch selector
    With the branch selector you can decide which branches will be included in the graph.
  • Interactive commits
    Ok, it’s a bit of a made-up name but the dots that you see on the graph are interactive and they will help triggering some of the highlighting features that you will discover below.

cgraph_basis

Now you should be ready to dig into the different usages of the graph!

Highlight the parents of a commit with the Lineage highlight

The most basic feature of the Commit Graph is to offer a simple way to track the ancestry of your commits. This is possible with the Lineage highlighter which allows you to mask all the commits that are not related to the one you have selected. Using it is straightforward:

  1. Make sure the Lineage highlighter is selected
  2. Click on a commit in the graph

At this point all the commits that are not part of the ancestry of the selected one should be masked, giving you a clean view on the history of a particular change.

cgraph_lineage

Track all commits that do  JIRA issue

A lot of our customers are combining FishEye, Crucible and JIRA together to ensure the quality of their development. If you have JIRA hooked up to your FishEye instance you can simply put issue keys in your commit messages to link your source back to JIRA. As soon as this is done you can use the JIRA issues highlighter of the Commit Graph to see all the changesets that have an issue linked to them.

cgraph_JIRA_issue

You can go one step further with the JIRA issues highlighter and click on a particular commit to see all the other changes in the source that are related to the same issue.

fecru-highlight-jira-key

Check the review status of your commits at a glance

The Reviewed changesets highlighter will help you to have a quick overview of the state of your reviews by using color codes to show you commits that are reviewed (green), under review (yellow) or that do not have any review attached to them (red). Once again the usage is straightforward: Select the Reviewed changesets highlighter to get the colors applied to your commits.

cgraph_graph-reviews

And just like the JIRA issues highlighter you can click on a particular commit having a review to see all the other commits that are included in the same review.

cgraph_review-track

Creating reviews from the Commit Graph

It wouldn’t be convenient if you had to get out of the Commit Graph to create a review for a particular commit. This is why you can quickly create reviews for any commit that you can see in the graph via its contextual menu.

cgraph_create_reviews

Give us your feedback!

And voilà! I hope that this will help you to get more everyday out of your FishEye and Crucible instance. I would love to hear back from you guys and get your suggestions to improve this feature. Getting your feedback makes a real difference!