Integrating Mylyn into your Git workflow

Posted by

In January, most of the EGit committers met at the “EGit Summit” in Walldorf, Germany. We had a blast hanging out together, planning the future direction for EGit/JGit, and implementing new features.

Thanks again to the SAP team for hosting the event.

As you can see on the whiteboard, there were numerous ideas suggested by the EGit committers who attended. We organized and prioritized the topics and then broke up into small teams. One user story that was commonly asked for was improved integration between EGit and Mylyn – Chris Aniszczyk (Red Hat), Manuel Doninger (Markant) and I (Tasktop) decided to form a team to make this improved integration real.

“EGit Mylyn (Incubation)”, a new feature that came from our activities at the Summit, allows you to have a tighter integration between Mylyn and EGit. This feature is available from the current update site.

We were fortunate to have a starting point from Manuel and others, and as result, by the end of the first day of the Summit, initial support for pre-populating the commit message from the active task was completed. This means that if you’re activly working on a task, once you fire up the commit dialog, it is prefilled with the commit message for the activated task. See the screenshots below.

The industry analysts like Forrester and Gartner have been emphasizing the importance of visibility and traceability in today’s modern development efforts. One great feature we were able to implement for achieving better traceability is support for linking between commits and tasks. With this feature, once a you fire up the History view of your git project, you’re able to open up the task corresponding to the commit with a single click. We implemented the same feature for the Git Synchronize view as well.

In the future, we want to work on an even tighter integration between EGit and Mylyn. One idea is per-task branching. This essentially means that if you activate a task, EGit automatically creates a “feature branch” for your task and later it will merge it back into the master branch for pushing upstream. Manuel already has a working prototype which will hopefully find its way into the EGit master soon. If you’re interested in this idea, take look at this task.

Besides the Mylyn integration, many other new features and fixes found their way into the 0.11 stream of EGit. You may want to check out the New & Noteworthy.

If you have your own ideas for how EGit and Mylyn can work together more seamlessly, please comment on this post or open a new feature request in the EGit Bugzilla component. We always are excited to get new committers as well as new contributors to EGit who can help us make it an even better project.