Subject: Re: [PATCHv3 0/3]More diffs for commit/status

From: Junio C Hamano <[email-masked]>
Date: Thu, 05 Mar 2015 12:27:53 -0800

Junio C Hamano <[email-masked]> writes:

> Extending this line of thought further.
> 
> If I am reading your patch 3/3 right, "status -v -v" shows the
> header when there are patches to be shown for the category.  I am
> not sure if that is the most helpful way for the users, when either
> c/i xor i/w diffs is missing.
> ...
> So, my recommendation for "status -v -v" would be:

Taking the conclusion part of what I said back.  I think the exact
same reasoning will lead to a much simpler and more concise output
by (1) using exactly the same logic you have in 3/3 to decide when
to show or not show the headers and (2) adding the ^-{50}$ separator
only before the second header that is shown before the changes left
in the working tree.

Then, 1-a) will show the same output as "status -v", 1-b) will start
as the same as "status -v", followed by a visually significant
separator followed by diff, 2-a) will be empty, and 2-b) will start
with a visually significant and unusual separator line before the
diff.  That would make 1-a) and 2-b) visually very distinct and
reduce the chance of confusion.

The updated outline for "status -v -v" would be:

     if (there are changes to be committed) {
         show "to be committed" header;
         show c/i diff;
     }
     if (there are changes left in the working tree) {
         show "left in the working tree" with -{50} header;
         show i/w diff;
     }

Thanks.