git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Schindelin <johannes.schindelin@gmx.de>
To: git@vger.kernel.org
Cc: spearce@spearce.org, robin.rosenberg@dewire.com
Subject: [JGIT PATCH 0/3] Request for help: graph-based UI
Date: Sun, 12 Jul 2009 16:46:49 +0200 (CEST)	[thread overview]
Message-ID: <cover.1247408350u.git.johannes.schindelin@gmx.de> (raw)

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

             reply	other threads:[~2009-07-12 14:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-12 14:46 Johannes Schindelin [this message]
2009-07-12 14:46 ` [JGIT PATCH 1/3] Add a rudimentary graph-based user interface Johannes Schindelin
2009-07-12 14:47 ` [JGIT PATCH 2/3] Add license boiler-plates Johannes Schindelin
2009-07-12 14:47 ` [JGIT PATCH 3/3] Introduce the command 'jgit gui' Johannes Schindelin
2009-07-21 19:40 ` [JGIT PATCH 0/3] Request for help: graph-based UI Robin Rosenberg
2009-07-25 20:54   ` Douglas Campos
2009-07-25 20:59     ` Shawn O. Pearce
2009-07-25 23:20       ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1247408350u.git.johannes.schindelin@gmx.de \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=robin.rosenberg@dewire.com \
    --cc=spearce@spearce.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).