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
next 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).