Subject: Re: [RFH] QGit: how to cram a patch in a crowded screen

From: Andy Parkins <[email-masked]>
Date: Sat, 26 May 2007 10:34:52 +0100

On Saturday 2007, May 26, Marco Costalba wrote:

> We need some help, in terms of ideas, to better arrange the
> information to be shown in main view so to improve repo browsability.
>
> I could implement almost anything good comes up in this thread. But
> still I don't figure out myself what is the best solution.
>
> Any suggestion is greatly appreciated.

While reading this I was reminded of something Linus said recently.  The 
default form for exchanging patches is _not_ the diff; it's the email.  
The reason for this is that emails contain author information, log 
information and patch information.  I've often thought that one thing 
we can be reasonably sure of is that the log message will be small.  
Perhaps then, the best thing would be to show each revision in a 
similar manner to how one would view the patch as an email as Pavel 
suggests: all in one.  My patches that made the header information 
appear in a box were a stumble in that direction, making the header 
look a bit like an email header, what about going one step further and 
including the patch in that window as well?

For example, the log view widget would show:

<Header>
<Log Message>
<Patch>

All visually distinct to improve searching by eye (perhaps including 
clear separators between files patched).  Then the file list could 
include a "<header>" psuedo-file that would jump back to the top of the 
viewer.

I think a key feature would be that the log message shows up fast, and 
then the patch is loaded in the background - sometimes patches are big, 
but you still want to hop around revisions without waiting for the 
whole patch to load before you leap to the next view point.

Here's another option, keeping the patch tab, but putting the tab widget 
in the log view window.  That way the list would be visible and you 
would just switch between the log and the patch.

And another idea:  make the log window a tree widget, of sorts, a bit 
like kate in KDE is, each section would begin collapsed (perhaps), it 
would look like:

 + <Header>
 + <Log message>
 + <Patch>

And clicking on the + would expand that section; then for the patch 
itself:

 + <Patch>
   + <File1>
   + <File2>
   + <File3>

In this way the user could get an overview of all the changed files, and 
could view the changes for whatever subset they wanted.  It would 
probably be nice to default the header and log message to expanded, 
with the option to collapse them.

Andy
-- 
Dr Andy Parkins, M Eng (hons), MIET
[email-masked]