List for cgit developers and users
 help / color / mirror / Atom feed
* RFE: Show just diff summary
@ 2014-09-22 15:40 mricon
  2014-12-24  2:27 ` Jason
  0 siblings, 1 reply; 7+ messages in thread
From: mricon @ 2014-09-22 15:40 UTC (permalink / raw)


Hi, all:

It would be nice to be able to show just the diff summary and not all
the diff details. My goal is to do away with the following:

https://www.kernel.org/diff/diffview.cgi?file=/pub/linux/kernel/v3.x/patch-3.2.63.xz

And replace it with this:

https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/diff/?id=v3.2.63&id2=v3.2

As you may notice, that diff is "hella big" :), so it would be handy if
I could pass a parameter saying "show just the summary" and the summary
would have an option to show the rest of the content similar to how we
have "show entire file" at the top with diffview, in addition to letting
people click on file names.

Is that a sensible request? E.g. the default would remain the same, but
adding &summary=1 would only show the summary. If "summary=1" is in the
query string, add a link "show entire diff" that would simply reload
without summary=1.

Best,
-- 
Konstantin Ryabitsev
Linux Foundation Collab Projects
Montr?al, Qu?bec

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 538 bytes
Desc: OpenPGP digital signature
URL: <http://lists.zx2c4.com/pipermail/cgit/attachments/20140922/b9ef1058/attachment.asc>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* RFE: Show just diff summary
  2014-09-22 15:40 RFE: Show just diff summary mricon
@ 2014-12-24  2:27 ` Jason
  2014-12-24  2:30   ` Jason
  0 siblings, 1 reply; 7+ messages in thread
From: Jason @ 2014-12-24  2:27 UTC (permalink / raw)


I'd be happy to merge a commit that adds this functionality, if anybody
wants to take a stab at it. Otherwise, I'll give it a go in the next few
weeks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.zx2c4.com/pipermail/cgit/attachments/20141223/1581838b/attachment.html>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* RFE: Show just diff summary
  2014-12-24  2:27 ` Jason
@ 2014-12-24  2:30   ` Jason
  2014-12-29 20:09     ` mricon
  0 siblings, 1 reply; 7+ messages in thread
From: Jason @ 2014-12-24  2:30 UTC (permalink / raw)


Ahh yes, of course -- John has done it, and it's been merged
here: ddfaef6bb28e697491b25bff5a7b260d44ce6ccf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.zx2c4.com/pipermail/cgit/attachments/20141223/8653ddb8/attachment.html>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* RFE: Show just diff summary
  2014-12-24  2:30   ` Jason
@ 2014-12-29 20:09     ` mricon
  2014-12-29 22:27       ` [PATCH] ui-diff: don't link to single file diff stat john
  0 siblings, 1 reply; 7+ messages in thread
From: mricon @ 2014-12-29 20:09 UTC (permalink / raw)


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

Hi, all:

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.

Best,
-- 
Konstantin Ryabitsev
Linux Foundation Collab Projects
Montr?al, Qu?bec


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] ui-diff: don't link to single file diff stat
  2014-12-29 20:09     ` mricon
@ 2014-12-29 22:27       ` john
  2014-12-30  9:09         ` Jason
  0 siblings, 1 reply; 7+ messages in thread
From: john @ 2014-12-29 22:27 UTC (permalink / raw)


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 <mricon at kernel.org>
Signed-off-by: John Keeping <john at keeping.me.uk>
---
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



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] ui-diff: don't link to single file diff stat
  2014-12-29 22:27       ` [PATCH] ui-diff: don't link to single file diff stat john
@ 2014-12-30  9:09         ` Jason
  2014-12-30 14:53           ` mricon
  0 siblings, 1 reply; 7+ messages in thread
From: Jason @ 2014-12-30  9:09 UTC (permalink / raw)


Seems like a reasonable enough way of handling it. Thanks John. I've merged
this.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.zx2c4.com/pipermail/cgit/attachments/20141230/83427759/attachment.html>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] ui-diff: don't link to single file diff stat
  2014-12-30  9:09         ` Jason
@ 2014-12-30 14:53           ` mricon
  0 siblings, 0 replies; 7+ messages in thread
From: mricon @ 2014-12-30 14:53 UTC (permalink / raw)


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


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-12-30 14:53 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-22 15:40 RFE: Show just diff summary mricon
2014-12-24  2:27 ` Jason
2014-12-24  2:30   ` Jason
2014-12-29 20:09     ` mricon
2014-12-29 22:27       ` [PATCH] ui-diff: don't link to single file diff stat john
2014-12-30  9:09         ` Jason
2014-12-30 14:53           ` mricon

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