New in 11: Git log gets more power

The most exciting news for me is that now in forthcoming IntelliJ IDEA 11, we show Git revisions graph!

Now that IntelliJ IDEA can visualize commits links, we’ve added context actions to tag a commit, create (and checkout) new branch, and checkout a selected revision.

I want to specifically mention the highlight actions — now you can see what commits are in “ancestors subgraph” for a selected commit. By default, IntelliJ IDEA shows HEAD subgraph, i.e. you see what commits you have in your working tree now.

It is really convenient when you are checking what commits went into some tag (or branch).

To find any commit in git log (in already shown part), use the new “Goto Commit” action — type commit hash, or description fragment, or branch or tag name, and be navigated to it.

And, finally — when browsing history, sometimes you work with a set of commits and need to track this set.

Now you can mark commits by simply pressing Space and they get stared.

This entry was posted in New Features and tagged , , . Bookmark the permalink.

18 Responses to New in 11: Git log gets more power

  1. Dirk says:

    Just one word: Sweet!

  2. Behrang says:

    Nice! IMHO the graph should be anti-aliased.

  3. SebCorbin says:

    Sorry, I’ll say another one: Awesome!

  4. Mattias J says:

    When will this be in the EAP?

  5. jdoe says:

    Yep, antialiasing FTW! ;-)

    Anyway – great enhancement. Too many times I feel forced to drop to the command line and/or gitg. And sweet memories of working with hgeclipse brings some bitter taste when staring at the very rudimentary Idea git log viewer. ;-)

    Looking forward to 11.

  6. magicprinc says:

    Please! Add same love to mercurial plugin.
    _HG_ is new SVN for corp developers, not git.

  7. Irina Chernushina (JetBrains) says:

    Yes, sure, antialiasing should be done

    @Mattias it is already in 110.365, http://confluence.jetbrains.net/display/IDEADEV/IDEA+11+EAP

  8. Yann says:

    Is there anyway that we can have a similar visual graph of commits for a very specific source file so we can see its activity across branches? For instance, in IntelliJ CVS integration we can right mouse click on a file and show CVS history, it shows all the revisions for the file across branches. Would love to have something similar with the Git integration.

  9. Rafal says:

    The same for Mercurial please!!!

  10. Mykola says:

    Great feature, very good. But a bit slow yet. On the repository of 5895 commits it takes quite a while to load the graph. Are there plans to improve performance in pipeline, or should I create a ticket for that?

  11. Irina Chernushina (JetBrains) says:

    @Yann, you can see file history exactly the same way as for CVS.
    @Mykola I would appreciate performance snapshots! =)

  12. Yann says:

    @Irina, it does show the file history for the current checked out git branch, but what about changes that are on other branches? You don’t see them, unless I have missed something.

  13. Irina Chernushina (JetBrains) says:

    @Yann You can also use Structure filter in git log, but unfortunately it does not work across renames right now. (If the item that we filter by was renamed, revisions before rename are not shown)

  14. Brice says:

    @Irina & intellij team great work :)
    Waiting for the mercurial equivalent, but I’m patient ;P

  15. Sven says:

    Awesome… But a little bit slow!

  16. Yann says:

    @Irina what do you think of the following ideas?

    1) Add another VCS Git action on a file alongside show history, something like Filter in Git Log so that it does filter the log for the selected file so you don’t need to navigate in the actual Git log to find the file to filter on.

    2) Add an option in the Git Show History so that you can add the –all in the git log command and you then render a new column that shows the branch name (if you could show as a tree like in the CVS show history that would be awesome).

  17. Irina Chernushina (JetBrains) says:

    @Yann

    1) Yes, it’s a good idea! We also wanted to do this. It just haven’t been done yet.
    2) In fact, it works already: if you run git log without any filters, it shows “git log –all” results
    Branches that commit belongs to are shown in the bottom of the details pane (“Contained in branches”).
    It would kill performance if we show branches for every commit just in separate column.
    We just show branches for the selected commit, and cache them for the case if you select that commit again.
    Also, as I have said above, for the case when you don’t filter results, you can highlight all commits belonging to a branch.

  18. Irina Chernushina (JetBrains) says:

    NB We had some questions concerning the place where revision graph and git log is located in IntelliJ IDEA (and other products).

    - You can see git log for the current project in Changes toolwindow, in “Log” tab, or
    - VCS -> Browse VCS Repository -> Show Git Repository Log… – for any optional repository (ies). (You can even open git log for several repositories combined in one table)

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 class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">