EGit 3.0, Top Eclipse Kepler Feature #9

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

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

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

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

Screen Shot 2013-06-10 at 11.22.18 AM

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

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

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 Comments
  • Libor Jelínek
    Posted at 5:41 pm, June 18, 2013

    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.

  • Libor Jelínek
    Posted at 5:46 pm, June 18, 2013

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

  • Libor Jelínek
    Posted at 8:10 am, June 27, 2013

    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 🙂