Re: [PATCH] ui-diff: don't link to single file diff stat

2014-12-30 Thread Konstantin Ryabitsev
On 30/12/14 04:09 AM, Jason A. Donenfeld wrote:
> Seems like a reasonable enough way of handling it. Thanks John. I've
> merged this.

And this is live. Excellent, thanks all!

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/diff/?id=v3.19-rc2&id2=v3.19-rc1&dt=2

Best,
-- 
Konstantin Ryabitsev
Linux Foundation Collab Projects
Montréal, Québec
___
CGit mailing list
CGit@lists.zx2c4.com
http://lists.zx2c4.com/mailman/listinfo/cgit


Re: [PATCH] ui-diff: don't link to single file diff stat

2014-12-30 Thread Jason A. Donenfeld
Seems like a reasonable enough way of handling it. Thanks John. I've merged
this.
___
CGit mailing list
CGit@lists.zx2c4.com
http://lists.zx2c4.com/mailman/listinfo/cgit


[PATCH] ui-diff: don't link to single file diff stat

2014-12-29 Thread John Keeping
Seeing the diff stat for a single file is pretty useless, so reset the
diff type before generating the links to individual files in the diff
stat so that the links will show a useful diff.

Reported-by: Konstantin Ryabitsev 
Signed-off-by: John Keeping 
---
On Mon, Dec 29, 2014 at 03:09:55PM -0500, Konstantin Ryabitsev wrote:
> On 23/12/14 09:30 PM, Jason A. Donenfeld wrote:
> > Ahh yes, of course -- John has done it, and it's been merged
> > here: ddfaef6bb28e697491b25bff5a7b260d44ce6ccf
> 
> I actually had a chance to try it out now. It looks pretty nice, but has
> an unintended downside in the sense that "dt=2" is sticky. E.g. for a
> link like:
> 
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/diff/?id=v3.19-rc2&id2=v3.19-rc1&dt=2
> 
> This will show the diffstat only, but then if I click on any of the
> files for more details, the "diffstat only" mode persists. The user
> would then need to know to change to "unified" in the dropdown on the
> right to see actual diff contents.
> 
> It's not a bug per se, just wondering if we can improve the user experience.

Something like this, perhaps?

 ui-diff.c | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/ui-diff.c b/ui-diff.c
index bf2ec57..5b6df1f 100644
--- a/ui-diff.c
+++ b/ui-diff.c
@@ -428,6 +428,16 @@ void cgit_print_diff(const char *new_rev, const char 
*old_rev,
if (show_ctrls)
cgit_print_diff_ctrls();
 
+   /*
+* Clicking on a link to a file in the diff stat should show a diff
+* of the file, showing the diff stat limited to a single file is
+* pretty useless.  All links from this point on will be to
+* individual files, so we simply reset the difftype in the query
+* here to avoid propagating DIFF_STATONLY to the individual files.
+*/
+   if (difftype == DIFF_STATONLY)
+   ctx.qry.difftype = ctx.cfg.difftype;
+
cgit_print_diffstat(old_rev_sha1, new_rev_sha1, prefix);
 
if (difftype == DIFF_STATONLY)
-- 
2.2.1.286.gdf3164c

___
CGit mailing list
CGit@lists.zx2c4.com
http://lists.zx2c4.com/mailman/listinfo/cgit