git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCHv3 7/8] gitweb: Use href(-replay=>1,...) for formats links in "commitdiff"

From
Jakub Narebski <jnareb@gmail.com>
Date
Oct 30, 2011, 23:36 UTC
Message-ID
<1320017787-18048-8-git-send-email-jnareb@gmail.com>
In-Reply-To
<1320017787-18048-1-git-send-email-jnareb@gmail.com>

Use href(-replay->1,...) in (sub)navigation links (like changing style of view, or going to parent commit) so that extra options are preserved.

This is needed so clicking on such (sub)navigation link would preserve style of diff; for example when using "side-by-side" diff style then going to parent commit would now also use this style.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
This patch is new in this series, and independent on side-by-side stuff.
It can (and perhaps should) be moved earlier in this series.
 gitweb/gitweb.perl |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index f69ed08..ffaea45 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -7267,8 +7267,8 @@ sub git_commitdiff {
 				}
 			}
 			$formats_nav .= ': ' .
-				$cgi->a({-href => href(action=>"commitdiff",
-				                       hash=>$hash_parent)},
+				$cgi->a({-href => href(-replay=>1,
+				                       hash=>$hash_parent, hash_base=>undef)},
 				        esc_html($hash_parent_short)) .
 				')';
 		} elsif (!$co{'parent'}) {
@@ -7278,28 +7278,28 @@ sub git_commitdiff {
 			# single parent commit
 			$formats_nav .=
 				' (parent: ' .
-				$cgi->a({-href => href(action=>"commitdiff",
-				                       hash=>$co{'parent'})},
+				$cgi->a({-href => href(-replay=>1,
+				                       hash=>$co{'parent'}, hash_base=>undef)},
 				        esc_html(substr($co{'parent'}, 0, 7))) .
 				')';
 		} else {
 			# merge commit
 			if ($hash_parent eq '--cc') {
 				$formats_nav .= ' | ' .
-					$cgi->a({-href => href(action=>"commitdiff",
+					$cgi->a({-href => href(-replay=>1,
 					                       hash=>$hash, hash_parent=>'-c')},
 					        'combined');
 			} else { # $hash_parent eq '-c'
 				$formats_nav .= ' | ' .
-					$cgi->a({-href => href(action=>"commitdiff",
+					$cgi->a({-href => href(-replay=>1,
 					                       hash=>$hash, hash_parent=>'--cc')},
 					        'compact');
 			}
 			$formats_nav .=
 				' (merge: ' .
 				join(' ', map {
-					$cgi->a({-href => href(action=>"commitdiff",
-					                       hash=>$_)},
+					$cgi->a({-href => href(-replay=>1,
+					                       hash=>$_, hash_base=>undef)},
 					        esc_html(substr($_, 0, 7)));
 				} @{$co{'parents'}} ) .
 				')';
-- 
1.7.6
Previous: Jakub NarebskiNext: Jakub Narebski
Message 8 of 9 in “[PATCHv3 0/8] gitweb: side-by-side diff”
  1. Jakub NarebskiOct 30, 2011
  2. 1/8 gitweb: Refactor diff body line classificationJakub Narebski, Oct 30, 2011
  3. 2/8 gitweb: Extract formatting of diff chunk headerJakub Narebski, Oct 30, 2011
  4. 3/8 gitweb: Add a feature to show side-by-side diffJakub Narebski, Oct 30, 2011
  5. 4/8 gitweb: Give side-by-side diff extra CSS stylingJakub Narebski, Oct 30, 2011
  6. 5/8 t9500: Add test for handling incomplete lines in diff by gitwebJakub Narebski, Oct 30, 2011
  7. 6/8 t9500: Add basic sanity tests for side-by-side diff in gitwebJakub Narebski, Oct 30, 2011
  8. 7/8 gitweb: Use href(-replay=>1,...) for formats links in "commitdiff"Jakub Narebski, Oct 30, 2011
  9. 8/8 gitweb: Add navigation to select side-by-side diffJakub Narebski, Oct 30, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.