threads / patch / 5726

patchgitweb: Remove excessively redundant entries from git_difftree_body

Subject: [PATCH] gitweb: Remove excessively redundant entries from git_difftree_body

## tl;dr

5 messages between Sep 28, 2006 and Oct 2, 2006. Diffs are folded; open one to read it.

replies: 4people: 3as markdown or json

Luben Tuikov· Sep 28, 2006, 00:23 UTC · lore
1) All entries on the left are blobs and clicking on them
leads to blobs.  No more diff or blob depending on what
happened (modified or mode changed) to the file -- this goes
to the right, in the "link" column.
2) Remove redundant "blob" from the link column on the right.
This can now be had by clicking on the entry itself.
This reduces and simplifies the code.
Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
---
 gitweb/gitweb.perl |   92 +++++++++++++++++++---------------------------------
 1 files changed, 34 insertions(+), 58 deletions(-)
Show changes to gitweb/gitweb.perl +34 −58
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 56638f2..c87f60e 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -1692,47 +1692,39 @@ sub git_difftree_body {
 			my $mode_chng = "<span class=\"file_status new\">[new $to_file_type";
 			$mode_chng   .= " with mode: $to_mode_str" if $to_mode_str;
 			$mode_chng   .= "]</span>";
-			print "<td>" .
-			      $cgi->a({-href => href(action=>"blob", hash=>$diff{'to_id'},
+			print "<td>";
+			print $cgi->a({-href => href(action=>"blob", hash=>$diff{'to_id'},
 			                             hash_base=>$hash, file_name=>$diff{'file'}),
-			              -class => "list"}, esc_html($diff{'file'})) .
-			      "</td>\n" .
-			      "<td>$mode_chng</td>\n" .
-			      "<td class=\"link\">" .
-			      $cgi->a({-href => href(action=>"blob", hash=>$diff{'to_id'},
-			                             hash_base=>$hash, file_name=>$diff{'file'})},
-			              "blob");
+				       -class => "list"}, esc_html($diff{'file'}));
+			print "</td>\n";
+			print "<td>$mode_chng</td>\n";
+			print "<td class=\"link\">";
 			if ($action eq 'commitdiff') {
 				# link to patch
 				$patchno++;
-				print " | " .
-				      $cgi->a({-href => "#patch$patchno"}, "patch");
+				print $cgi->a({-href => "#patch$patchno"}, "patch");
 			}
 			print "</td>\n";
 
 		} elsif ($diff{'status'} eq "D") { # deleted
 			my $mode_chng = "<span class=\"file_status deleted\">[deleted $from_file_type]</span>";
-			print "<td>" .
-			      $cgi->a({-href => href(action=>"blob", hash=>$diff{'from_id'},
+			print "<td>";
+			print $cgi->a({-href => href(action=>"blob", hash=>$diff{'from_id'},
 			                             hash_base=>$parent, file_name=>$diff{'file'}),
-			               -class => "list"}, esc_html($diff{'file'})) .
-			      "</td>\n" .
-			      "<td>$mode_chng</td>\n" .
-			      "<td class=\"link\">" .
-			      $cgi->a({-href => href(action=>"blob", hash=>$diff{'from_id'},
-			                             hash_base=>$parent, file_name=>$diff{'file'})},
-			              "blob") .
-			      " | ";
+			               -class => "list"}, esc_html($diff{'file'}));
+			print "</td>\n";
+			print "<td>$mode_chng</td>\n";
+			print "<td class=\"link\">";
 			if ($action eq 'commitdiff') {
 				# link to patch
 				$patchno++;
-				print " | " .
-				      $cgi->a({-href => "#patch$patchno"}, "patch");
+				print $cgi->a({-href => "#patch$patchno"}, "patch");
+				print " | ";
 			}
 			print $cgi->a({-href => href(action=>"history", hash_base=>$parent,
 			                             file_name=>$diff{'file'})},
-			              "history") .
-			      "</td>\n";
+			              "history");
+			print "</td>\n";
 
 		} elsif ($diff{'status'} eq "M" || $diff{'status'} eq "T") { # modified, or type changed
 			my $mode_chnge = "";
@@ -1751,42 +1743,29 @@ sub git_difftree_body {
 				$mode_chnge .= "]</span>\n";
 			}
 			print "<td>";
-			if ($diff{'to_id'} ne $diff{'from_id'}) { # modified
-				print $cgi->a({-href => href(action=>"blobdiff",
-				                             hash=>$diff{'to_id'}, hash_parent=>$diff{'from_id'},
-				                             hash_base=>$hash, hash_parent_base=>$parent,
-				                             file_name=>$diff{'file'}),
-				              -class => "list"}, esc_html($diff{'file'}));
-			} else { # only mode changed
-				print $cgi->a({-href => href(action=>"blob", hash=>$diff{'to_id'},
-				                             hash_base=>$hash, file_name=>$diff{'file'}),
-				              -class => "list"}, esc_html($diff{'file'}));
-			}
-			print "</td>\n" .
-			      "<td>$mode_chnge</td>\n" .
-			      "<td class=\"link\">" .
-			      $cgi->a({-href => href(action=>"blob", hash=>$diff{'to_id'},
-			                             hash_base=>$hash, file_name=>$diff{'file'})},
-			              "blob");
+			print $cgi->a({-href => href(action=>"blob", hash=>$diff{'to_id'},
+						     hash_base=>$hash, file_name=>$diff{'file'}),
+				       -class => "list"}, esc_html($diff{'file'}));
+			print "</td>\n";
+			print "<td>$mode_chnge</td>\n";
+			print "<td class=\"link\">";
 			if ($diff{'to_id'} ne $diff{'from_id'}) { # modified
 				if ($action eq 'commitdiff') {
 					# link to patch
 					$patchno++;
-					print " | " .
-						$cgi->a({-href => "#patch$patchno"}, "patch");
+					print $cgi->a({-href => "#patch$patchno"}, "patch");
 				} else {
-					print " | " .
-						$cgi->a({-href => href(action=>"blobdiff",
-						                       hash=>$diff{'to_id'}, hash_parent=>$diff{'from_id'},
-						                       hash_base=>$hash, hash_parent_base=>$parent,
-						                       file_name=>$diff{'file'})},
-						        "diff");
+					print $cgi->a({-href => href(action=>"blobdiff",
+								     hash=>$diff{'to_id'}, hash_parent=>$diff{'from_id'},
+								     hash_base=>$hash, hash_parent_base=>$parent,
+								     file_name=>$diff{'file'})},
+						      "diff");
 				}
+				print " | ";
 			}
-			print " | " .
-				$cgi->a({-href => href(action=>"history",
-				                       hash_base=>$hash, file_name=>$diff{'file'})},
-				        "history");
+			print $cgi->a({-href => href(action=>"history",
+						     hash_base=>$hash, file_name=>$diff{'file'})},
+				      "history");
 			print "</td>\n";
 
 		} elsif ($diff{'status'} eq "R" || $diff{'status'} eq "C") { # renamed or copied
@@ -1806,10 +1785,7 @@ sub git_difftree_body {
 			                             hash=>$diff{'from_id'}, file_name=>$diff{'from_file'}),
 			              -class => "list"}, esc_html($diff{'from_file'})) .
 			      " with " . (int $diff{'similarity'}) . "% similarity$mode_chng]</span></td>\n" .
-			      "<td class=\"link\">" .
-			      $cgi->a({-href => href(action=>"blob", hash_base=>$hash,
-			                             hash=>$diff{'to_id'}, file_name=>$diff{'to_file'})},
-			              "blob");
+			      "<td class=\"link\">";
 			if ($diff{'to_id'} ne $diff{'from_id'}) {
 				if ($action eq 'commitdiff') {
 					# link to patch
-- 
1.4.2.1.g271e
Junio C Hamano· Sep 28, 2006, 02:07 UTC · re: Luben Tuikov · lore

Re: [PATCH] gitweb: Remove excessively redundant entries from git_difftree_body

Luben Tuikov <ltuikov@yahoo.com> writes:
Show 11 quoted lines
> 1) All entries on the left are blobs and clicking on them
> leads to blobs.  No more diff or blob depending on what
> happened (modified or mode changed) to the file -- this goes
> to the right, in the "link" column.
>
> 2) Remove redundant "blob" from the link column on the right.
> This can now be had by clicking on the entry itself.
>
> This reduces and simplifies the code.
>
> Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>

We lost blobdiff from commitdiff page with this patch, which I think it probably is a good change. We can say "when we display a pathname you can click it to get the blob or tree".

By the way, just like your "blob" and "tree" link removal, I think we can lose "commit" link in shortlog. The list looks rather cluttered with three links; we could replace it with "snapshot" link if we wanted to.

I am neutral about doing that for long log pages. The commit titles are links there as well, but they do not look like "one of the columns that can be clicked in a single line per row table" as in shortlog page. The page could also get "snapshot" links.

Luben Tuikov· Sep 28, 2006, 18:28 UTC · re: Junio C Hamano · lore

Re: [PATCH] gitweb: Remove excessively redundant entries from git_difftree_body

--- Junio C Hamano <junkio@cox.net> wrote:
> We lost blobdiff from commitdiff page with this patch, which I
> think it probably is a good change.  We can say "when we display
> a pathname you can click it to get the blob or tree".
I think so too.
> By the way, just like your "blob" and "tree" link removal, I
> think we can lose "commit" link in shortlog.  The list looks
> rather cluttered with three links; we could replace it with
> "snapshot" link if we wanted to.
I agree.
   Luben
Show 10 quoted lines
> I am neutral about doing that for long log pages.  The commit
> titles are links there as well, but they do not look like "one
> of the columns that can be clicked in a single line per row
> table" as in shortlog page.  The page could also get "snapshot"
> links.
> 
> 
> 
> 
> 
Jakub Narebski· Oct 1, 2006, 19:20 UTC · re: Junio C Hamano · lore

Re: [PATCH] gitweb: Remove excessively redundant entries from git_difftree_body

Junio C Hamano wrote:
Show 17 quoted lines
> Luben Tuikov <ltuikov@yahoo.com> writes:
> 
>> 1) All entries on the left are blobs and clicking on them
>> leads to blobs.  No more diff or blob depending on what
>> happened (modified or mode changed) to the file -- this goes
>> to the right, in the "link" column.
>>
>> 2) Remove redundant "blob" from the link column on the right.
>> This can now be had by clicking on the entry itself.
>>
>> This reduces and simplifies the code.
>>
>> Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
> 
> We lost blobdiff from commitdiff page with this patch, which I
> think it probably is a good change.  We can say "when we display
> a pathname you can click it to get the blob or tree".

In my opinion it is a bad change. We now have "patch" inner-link to anchor in commitdiff view, but it's equivalent in commit view i.e. diff aka blobdiff vanished.

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
Luben Tuikov· Oct 2, 2006, 19:48 UTC · re: Jakub Narebski · lore

Re: [PATCH] gitweb: Remove excessively redundant entries from git_difftree_body

--- Jakub Narebski <jnareb@gmail.com> wrote:
Show 23 quoted lines
> Junio C Hamano wrote:
> 
> > Luben Tuikov <ltuikov@yahoo.com> writes:
> > 
> >> 1) All entries on the left are blobs and clicking on them
> >> leads to blobs.  No more diff or blob depending on what
> >> happened (modified or mode changed) to the file -- this goes
> >> to the right, in the "link" column.
> >>
> >> 2) Remove redundant "blob" from the link column on the right.
> >> This can now be had by clicking on the entry itself.
> >>
> >> This reduces and simplifies the code.
> >>
> >> Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
> > 
> > We lost blobdiff from commitdiff page with this patch, which I
> > think it probably is a good change.  We can say "when we display
> > a pathname you can click it to get the blob or tree".
> 
> In my opinion it is a bad change. We now have "patch" inner-link
> to anchor in commitdiff view, but it's equivalent in commit view
> i.e. diff aka blobdiff vanished.
All which can be easily had.
    Luben

← back to recent threads