EGit 3.0, Top Eclipse Kepler Feature #9

As we approach another Eclipse release, I’m counting down the Top 10 Eclipse Kepler Features that I’m most excited about. A lot has changed during my 10 year involvement with Eclipse, but nothing bigger than the migration to Git. The migration was a giant undertaking, but in addition to the code migration the team needed to learn a whole new revision control system. Luckily for us, the JGit / EGit team built excellent Git tools for Eclipse.

In Eclipse Kepler, EGit is shipping version 3.0 with number of new features since June 2012.

In the reset dialog, you can use git expressions (such as HEAD^, a refspec, or a commit hash). Of course you can also choose the type of reset to do (Soft, Mixed or Hard).

Screen Shot 2013 06 10 at 11.19.00 AM EGit 3.0, Top Eclipse Kepler Feature #9

Unfortunately you can’t force a clean as part of a reset, but the clean action has been added to the repositories view now.

Screen Shot 2013 06 10 at 2.04.14 PM EGit 3.0, Top Eclipse Kepler Feature #9

And for those like me who always forget to push your changes, you can now push directly from the Commit Dialog.

Screen Shot 2013 06 10 at 11.21.41 AM EGit 3.0, Top Eclipse Kepler Feature #9

The EGit tooling has recently added rename detection in the history view.

Screen Shot 2013 06 10 at 11.22.18 AM EGit 3.0, Top Eclipse Kepler Feature #9

And the staging view is stable and provides a very powerful workflow with the ability to drag files and folders directly from the Package Explorer to the staged changes area.

dnd EGit 3.0, Top Eclipse Kepler Feature #9

And finally, the merge tool now shows a 3-way merge. This is useful when merging two branches. The ancestor pane will show the merge base — the common ancestor between the two commits.

Screen Shot 2013 06 10 at 2.20.18 PM EGit 3.0, Top Eclipse Kepler Feature #9

The Java library that underpins EGit (JGit) has also seen a number of improvements with Kepler. JGit now uses recursive merge by default. Reportedly, this result in fewer merge conflicts without causing mis-merges. JGit also pre-computes bitmap indices for the repositories. This results in faster fetch / clone operations, allowing JGit to serve Git repositories faster than the native Git. (See the EclipseCon presentation by Shawn Pearce for more information about this).

If you’re just getting started with Git and Eclipse, checkout our EGit Tutorial, the official EGit User Guide or Lars Vogel’s great resources. We also have some helpful resources on how to effectively use Eclipse and GitHub.

For more Eclipse Tips & Tricks, follow me on Twitter.

4 Responses to “EGit 3.0, Top Eclipse Kepler Feature #9”

  1. Libor Jelínek says:

    Thank you for this nice summary. Just a little note about Commit dialog – already Juno’s EGit 2.2 has “Commit” and “Commit and Push” buttons.

  2. Libor Jelínek says:

    Oops I forgot that also dragging from Project Explorer to index in Stagging view works already in EGit 2.2.

  3. Ian Bull says:

    @Libor,

    Thanks for the kind words. Yes, the “Commit and Push” was released in December 2012, and you’re right that is technically part of Juno. However, I’m trying to summarize some of the new things since last year (Juno SR0, i.e. June 2012) just in case people missed those releases in between.

    I also remember a ‘ckecky-box’ for commit and push at some point, but I didn’t like that because I would often accidentally leave it checked when I didn’t want to push. I’m not sure when they changed that.

  4. Libor Jelínek says:

    Okay, so it’s correct as a “what’s new” between Juno SR0 and Kepler SR0 :-) Thank you for writing up these annual summaries. I look forward to them every June :-)

4 responses so far

Written by . Published in Categories: EclipseSource News, Editors choice, Planet Eclipse