Hi, unfortunately, the GSoC project for the graph-based UI failed. Unwilling to give up on the idea, I ask you for help to make it become a reality, though. The basic concept is this: show the user a graph instead of a list of objects. This should make things much more intuitive, especially when the user can not only see the history, but "make" it in this UI, too! Just imagine being able to drag 'n drop a commit onto HEAD, and it is cherry-picked. Or drag 'n drop files or directories onto the window, and you see the history filtered to see only commits touching those files or directories. Things like that are as near in the future as you make it. Don't be intimidated by the size of the overall patch; almost half of it are license boiler-plates. Now, as for some low-hanging fruits I can think of, here is a short list: - I am crap at annotation, so that is lacking. - I am crap at documentation, so that is lacking. - It should be possible to read the commits on demand (maybe in the background, too, with a MIN_PRIORITY thread). - At the moment, only (part of) the commit subject is shown. It would be nice to have tooltips for the full subject, maybe a panel that shows the full commit metadata, and maybe make it configurable what is to be shown in the boxes to begin with. - The boxes could be resizable, automatically resizing the graph. - Coloring commits provides a very nice way to convey additional information; I could imagine that it would be nice to have a color coding of authors, for example. - It should be possible to reinitialize the GraphWalk with different options/refs. - I am developing using vi and bash, but that is not the way most Java developers work; Eclipse seems to be the most popular development platform. There should be a little how-to for people wanting to hack on JGit GUI. - The commits are shown in a rigid grid. Maybe it would be nice to be able to rearrange them interactively. Or to make that grid less rigid? (Well, the latter is not so low-hanging anymore...) - Nothing in the GUI let's you access the file revisions of the commits yet. What would be the most intuitive interface for that? - I have a rudimentary diff implementation in my repository (http://repo.or.cz/w/jgit/dscho.git where you can find the "gui" branch, too) which could be used to show the diffs corresponding to the commits. Interested? Ciao, Dscho Johannes Schindelin (3): Add a rudimentary graph-based user interface Add license boiler-plates Introduce the command 'jgit gui' .../services/org.spearce.jgit.pgm.TextBuiltin | 1 + .../src/org/spearce/jgit/pgm/Gui.java | 100 +++++++++++ .../src/org/spearce/jgit/gui/CommitGraph.java | 64 +++++++ .../src/org/spearce/jgit/gui/CommitGrid.java | 184 ++++++++++++++++++++ .../src/org/spearce/jgit/gui/CommitPainter.java | 80 +++++++++ .../src/org/spearce/jgit/gui/CommitRow.java | 69 ++++++++ .../src/org/spearce/jgit/gui/GraphCommit.java | 78 ++++++++ .../src/org/spearce/jgit/gui/GraphWalk.java | 73 ++++++++ 8 files changed, 649 insertions(+), 0 deletions(-) create mode 100644 org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Gui.java create mode 100644 org.spearce.jgit/src/org/spearce/jgit/gui/CommitGraph.java create mode 100644 org.spearce.jgit/src/org/spearce/jgit/gui/CommitGrid.java create mode 100644 org.spearce.jgit/src/org/spearce/jgit/gui/CommitPainter.java create mode 100644 org.spearce.jgit/src/org/spearce/jgit/gui/CommitRow.java create mode 100644 org.spearce.jgit/src/org/spearce/jgit/gui/GraphCommit.java create mode 100644 org.spearce.jgit/src/org/spearce/jgit/gui/GraphWalk.java -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html