gonsole weeks: eclipse egit integration

Home  >>  Common  >>  gonsole weeks: eclipse egit integration

gonsole weeks: eclipse egit integration

On June 11, 2014, Posted by , In Common,Eclipse,Gonsole, By ,,, , With 5 Comments

While Eclipse ships with a comprehensive Git tool, it seems that for certain tasks many developers switch to the command line. This gave Rüdiger and me the idea, to start an open source project to provide a git console integration for the IDE. Rüdiger anounced the launch of this project in his post gonsole weeks: git init gonsole recently.

Since then we had to spend some time on the project’s infrastructure, but also managed to implement some first features, that actually allow to do something useful with gonsole. This post gives you a short overview of what we have achieved so far.

Gonsole integrates in the Eclipse console view and can be opened from the drop down menu:


The Interactive Git Console page starts with a prompt of the currently selected repository (which is called rose in the following screenshot) and waits to be fed with git commands. Note that the prefix ‘git’ can be omitted here. As the implementation is build upon the JGit CLI the set of available commands is already pretty complete.


Cool isn’t it? But the attentive reader surely wonders where the heck does the currently selected repository come from? From our point of view Gonsole is probably most valuable as an add-on for the EGit. Because of this it seems natural that the tool works upon those repositories that are registered within the Eclipse workspace. The command cr can be used to change the current one:


Still, it is possible to use Gonsole standalone. To do so repositories can be configured within the Repository Locations preference page.


If you want to play around a bit with the software by yourself you can install it by this update site: http://rherrmann.github.io/gonsole/repository/

Of course the plug-in lacks stability and robustness at the time being, because some parts of the implementation are still in a quite explorative state – so be lenient ;-)

That’s it for now, let’s get back to work. And maybe the next time we can show you content proposals for commands, unless you request another feature…

Follow me

Frank Appel

Frank is a stalwart of agile methods and test driven development in particular. He understands software development as a craftsmanship based on a well-balanced mix of knowledge and the experience of the daily work.

Follow me

5 Comments so far:

  1. Holger says:

    Nice Job! What I don’t like is the “cr” command. I think it’s not obvious what it does when you haven’t read this post. After using rvm for many years the “use” command came into my mind. With rvm you say “rvm use 1.9.3″ to use ruby 1.9.3 on your machine. In gonsole reading “use rose” also feels good :).

    Just my 2 cents

    • Rüdiger Herrmann says:

      You have a point in that ‘cr’ isn’t the most obvious choice and I quite like the idea of a ‘use’ command. I’ve opened an issue to discuss and track this change.
      Furthermore, I think we need a place where we explain the common non-git commands (maybe a welcome message?).

  2. Udo says:

    Thanks for this! Suggestion: just drop “interactive” from the title. I’d be surprised by a console that’s not interactive, and the extra word makes it more difficult to locate.

    • Rüdiger Herrmann says:

      Thanks for your feedback, Udo. I agree with you that ‘interactive’ is redundant here and we will drop it.

  3. Holger says:

    @Rüdiger: As a shell user I’m used to press tab twice to get the available commands. The result are filtered by typing further. E.g.

    - “” + Pressing tab twice prompts: Display all 1824 possibilities? (y or n)
    - “g” + Pressing tab twice prompts all commands starting with g
    - “gi” + pressing tab twice …. I think you got it :)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>