[JGIT PATCH 0/3] Request for help: graph-based UI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]