# [PATCH] gitweb: Restore object-named links in item lists

4 messages from 2006-10-24 to 2006-10-24. Participants: Petr Baudis, Luben Tuikov, Jakub Narebski.
Thread: https://gitlist.dev/t/6026

## Petr Baudis, 2006-10-24 03:12

Subject: [PATCH] gitweb: Restore object-named links in item lists
Message-ID: <20061024031240.2500.93420.stgit@rover>
URL: https://gitlist.dev/e/20061024031240.2500.93420.stgit%40rover

```
This restores the redundant links removed earlier. It supersedes my patch
to stick slashes to tree entries.

Signed-off-by: Petr Baudis <pasky@suse.cz>
---

 gitweb/gitweb.perl |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 4a2025c..695c632 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -1793,16 +1793,18 @@ sub git_print_tree_entry {
 			                       file_name=>"$basedir$t->{'name'}", %base_key),
 			        -class => "list"}, esc_html($t->{'name'})) . "</td>\n";
 		print "<td class=\"link\">";
+		print $cgi->a({-href => href(action=>"blob", hash=>$t->{'hash'},
+					     file_name=>"$basedir$t->{'name'}", %base_key)},
+			      "blob");
 		if ($have_blame) {
-			print $cgi->a({-href => href(action=>"blame", hash=>$t->{'hash'},
+			print " | " .
+			      $cgi->a({-href => href(action=>"blame", hash=>$t->{'hash'},
 				                           file_name=>"$basedir$t->{'name'}", %base_key)},
 				            "blame");
 		}
 		if (defined $hash_base) {
-			if ($have_blame) {
-				print " | ";
-			}
-			print $cgi->a({-href => href(action=>"history", hash_base=>$hash_base,
+			print " | " .
+			      $cgi->a({-href => href(action=>"history", hash_base=>$hash_base,
 			                             hash=>$t->{'hash'}, file_name=>"$basedir$t->{'name'}")},
 			              "history");
 		}
@@ -1819,11 +1821,20 @@ sub git_print_tree_entry {
 		              esc_html($t->{'name'}));
 		print "</td>\n";
 		print "<td class=\"link\">";
+		print $cgi->a({-href => href(action=>"tree", hash=>$t->{'hash'},
+					     file_name=>"$basedir$t->{'name'}", %base_key)},
+			      "tree");
 		if (defined $hash_base) {
-			print $cgi->a({-href => href(action=>"history", hash_base=>$hash_base,
+			print " | " .
+			      $cgi->a({-href => href(action=>"history", hash_base=>$hash_base,
 			                             file_name=>"$basedir$t->{'name'}")},
 			              "history");
 		}
+		if ($have_snapshot) {
+			print " | " .
+			      $cgi->a({-href => href(action=>"snapshot", hash=>$t->{'hash'})},
+			              "snapshot");
+		}
 		print "</td>\n";
 	}
 }
@@ -1903,6 +1914,9 @@ sub git_difftree_body {
 				print $cgi->a({-href => "#patch$patchno"}, "patch");
 				print " | ";
 			}
+			print $cgi->a({-href => href(action=>"blob", hash=>$diff{'from_id'},
+			                             hash_base=>$parent, file_name=>$diff{'file'})},
+				      "blob") . " | ";
 			print $cgi->a({-href => href(action=>"blame", hash_base=>$parent,
 			                             file_name=>$diff{'file'})},
 			              "blame") . " | ";
@@ -1948,6 +1962,9 @@ sub git_difftree_body {
 				}
 				print " | ";
 			}
+			print $cgi->a({-href => href(action=>"blob", hash=>$diff{'to_id'},
+						     hash_base=>$hash, file_name=>$diff{'file'})},
+				      "blob") . " | ";
 			print $cgi->a({-href => href(action=>"blame", hash_base=>$hash,
 			                             file_name=>$diff{'file'})},
 			              "blame") . " | ";
@@ -1988,6 +2005,9 @@ sub git_difftree_body {
 				}
 				print " | ";
 			}
+			print $cgi->a({-href => href(action=>"blob", hash=>$diff{'from_id'},
+						     hash_base=>$parent, file_name=>$diff{'from_file'})},
+				      "blob") . " | ";
 			print $cgi->a({-href => href(action=>"blame", hash_base=>$parent,
 			                             file_name=>$diff{'from_file'})},
 			              "blame") . " | ";
@@ -2155,6 +2175,7 @@ sub git_shortlog_body {
 		                          href(action=>"commit", hash=>$commit), $ref);
 		print "</td>\n" .
 		      "<td class=\"link\">" .
+		      $cgi->a({-href => href(action=>"commit", hash=>$commit)}, "commit") . " | " .
 		      $cgi->a({-href => href(action=>"commitdiff", hash=>$commit)}, "commitdiff") . " | " .
 		      $cgi->a({-href => href(action=>"tree", hash=>$commit, hash_base=>$commit)}, "tree");
 		if (gitweb_have_snapshot()) {

```

## Petr Baudis, 2006-10-24 03:36

Subject: [PATCH] gitweb: Restore object-named links in item lists
Message-ID: <20061024033610.7959.4028.stgit@rover>
URL: https://gitlist.dev/e/20061024033610.7959.4028.stgit%40rover
In-Reply-To: <20061024031240.2500.93420.stgit@rover>

```
This restores the redundant links removed earlier. It supersedes my patch
to stick slashes to tree entries.

Sorry about the previous version of the patch, an unrelated snapshot link
addition to tree entries slipped through (and it it didn't even compile);
I've dropped the idea of snapshot links in tree entries in the meantime
anyway.

Signed-off-by: Petr Baudis <pasky@suse.cz>
---

 gitweb/gitweb.perl |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 4a2025c..661d1dd 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -1793,16 +1793,18 @@ sub git_print_tree_entry {
 			                       file_name=>"$basedir$t->{'name'}", %base_key),
 			        -class => "list"}, esc_html($t->{'name'})) . "</td>\n";
 		print "<td class=\"link\">";
+		print $cgi->a({-href => href(action=>"blob", hash=>$t->{'hash'},
+					     file_name=>"$basedir$t->{'name'}", %base_key)},
+			      "blob");
 		if ($have_blame) {
-			print $cgi->a({-href => href(action=>"blame", hash=>$t->{'hash'},
+			print " | " .
+			      $cgi->a({-href => href(action=>"blame", hash=>$t->{'hash'},
 				                           file_name=>"$basedir$t->{'name'}", %base_key)},
 				            "blame");
 		}
 		if (defined $hash_base) {
-			if ($have_blame) {
-				print " | ";
-			}
-			print $cgi->a({-href => href(action=>"history", hash_base=>$hash_base,
+			print " | " .
+			      $cgi->a({-href => href(action=>"history", hash_base=>$hash_base,
 			                             hash=>$t->{'hash'}, file_name=>"$basedir$t->{'name'}")},
 			              "history");
 		}
@@ -1819,8 +1821,12 @@ sub git_print_tree_entry {
 		              esc_html($t->{'name'}));
 		print "</td>\n";
 		print "<td class=\"link\">";
+		print $cgi->a({-href => href(action=>"tree", hash=>$t->{'hash'},
+					     file_name=>"$basedir$t->{'name'}", %base_key)},
+			      "tree");
 		if (defined $hash_base) {
-			print $cgi->a({-href => href(action=>"history", hash_base=>$hash_base,
+			print " | " .
+			      $cgi->a({-href => href(action=>"history", hash_base=>$hash_base,
 			                             file_name=>"$basedir$t->{'name'}")},
 			              "history");
 		}
@@ -1903,6 +1909,9 @@ sub git_difftree_body {
 				print $cgi->a({-href => "#patch$patchno"}, "patch");
 				print " | ";
 			}
+			print $cgi->a({-href => href(action=>"blob", hash=>$diff{'from_id'},
+			                             hash_base=>$parent, file_name=>$diff{'file'})},
+				      "blob") . " | ";
 			print $cgi->a({-href => href(action=>"blame", hash_base=>$parent,
 			                             file_name=>$diff{'file'})},
 			              "blame") . " | ";
@@ -1948,6 +1957,9 @@ sub git_difftree_body {
 				}
 				print " | ";
 			}
+			print $cgi->a({-href => href(action=>"blob", hash=>$diff{'to_id'},
+						     hash_base=>$hash, file_name=>$diff{'file'})},
+				      "blob") . " | ";
 			print $cgi->a({-href => href(action=>"blame", hash_base=>$hash,
 			                             file_name=>$diff{'file'})},
 			              "blame") . " | ";
@@ -1988,6 +2000,9 @@ sub git_difftree_body {
 				}
 				print " | ";
 			}
+			print $cgi->a({-href => href(action=>"blob", hash=>$diff{'from_id'},
+						     hash_base=>$parent, file_name=>$diff{'from_file'})},
+				      "blob") . " | ";
 			print $cgi->a({-href => href(action=>"blame", hash_base=>$parent,
 			                             file_name=>$diff{'from_file'})},
 			              "blame") . " | ";
@@ -2155,6 +2170,7 @@ sub git_shortlog_body {
 		                          href(action=>"commit", hash=>$commit), $ref);
 		print "</td>\n" .
 		      "<td class=\"link\">" .
+		      $cgi->a({-href => href(action=>"commit", hash=>$commit)}, "commit") . " | " .
 		      $cgi->a({-href => href(action=>"commitdiff", hash=>$commit)}, "commitdiff") . " | " .
 		      $cgi->a({-href => href(action=>"tree", hash=>$commit, hash_base=>$commit)}, "tree");
 		if (gitweb_have_snapshot()) {

```

## Luben Tuikov, 2006-10-24 08:38

Subject: Re: [PATCH] gitweb: Restore object-named links in item lists
Message-ID: <569338.82223.qm@web31805.mail.mud.yahoo.com>
URL: https://gitlist.dev/e/569338.82223.qm%40web31805.mail.mud.yahoo.com
In-Reply-To: <20061024033610.7959.4028.stgit@rover>

```
--- Petr Baudis <pasky@suse.cz> wrote:
> This restores the redundant links removed earlier. It supersedes my patch
> to stick slashes to tree entries.
> 
> Sorry about the previous version of the patch, an unrelated snapshot link
> addition to tree entries slipped through (and it it didn't even compile);
> I've dropped the idea of snapshot links in tree entries in the meantime
> anyway.
> 
> Signed-off-by: Petr Baudis <pasky@suse.cz>
> ---

http://marc.theaimsgroup.com/?t=116059799500003&r=1&w=2

    Luben


> 
>  gitweb/gitweb.perl |   28 ++++++++++++++++++++++------
>  1 files changed, 22 insertions(+), 6 deletions(-)
> 
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index 4a2025c..661d1dd 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -1793,16 +1793,18 @@ sub git_print_tree_entry {
>  			                       file_name=>"$basedir$t->{'name'}", %base_key),
>  			        -class => "list"}, esc_html($t->{'name'})) . "</td>\n";
>  		print "<td class=\"link\">";
> +		print $cgi->a({-href => href(action=>"blob", hash=>$t->{'hash'},
> +					     file_name=>"$basedir$t->{'name'}", %base_key)},
> +			      "blob");
>  		if ($have_blame) {
> -			print $cgi->a({-href => href(action=>"blame", hash=>$t->{'hash'},
> +			print " | " .
> +			      $cgi->a({-href => href(action=>"blame", hash=>$t->{'hash'},
>  				                           file_name=>"$basedir$t->{'name'}", %base_key)},
>  				            "blame");
>  		}
>  		if (defined $hash_base) {
> -			if ($have_blame) {
> -				print " | ";
> -			}
> -			print $cgi->a({-href => href(action=>"history", hash_base=>$hash_base,
> +			print " | " .
> +			      $cgi->a({-href => href(action=>"history", hash_base=>$hash_base,
>  			                             hash=>$t->{'hash'}, file_name=>"$basedir$t->{'name'}")},
>  			              "history");
>  		}
> @@ -1819,8 +1821,12 @@ sub git_print_tree_entry {
>  		              esc_html($t->{'name'}));
>  		print "</td>\n";
>  		print "<td class=\"link\">";
> +		print $cgi->a({-href => href(action=>"tree", hash=>$t->{'hash'},
> +					     file_name=>"$basedir$t->{'name'}", %base_key)},
> +			      "tree");
>  		if (defined $hash_base) {
> -			print $cgi->a({-href => href(action=>"history", hash_base=>$hash_base,
> +			print " | " .
> +			      $cgi->a({-href => href(action=>"history", hash_base=>$hash_base,
>  			                             file_name=>"$basedir$t->{'name'}")},
>  			              "history");
>  		}
> @@ -1903,6 +1909,9 @@ sub git_difftree_body {
>  				print $cgi->a({-href => "#patch$patchno"}, "patch");
>  				print " | ";
>  			}
> +			print $cgi->a({-href => href(action=>"blob", hash=>$diff{'from_id'},
> +			                             hash_base=>$parent, file_name=>$diff{'file'})},
> +				      "blob") . " | ";
>  			print $cgi->a({-href => href(action=>"blame", hash_base=>$parent,
>  			                             file_name=>$diff{'file'})},
>  			              "blame") . " | ";
> @@ -1948,6 +1957,9 @@ sub git_difftree_body {
>  				}
>  				print " | ";
>  			}
> +			print $cgi->a({-href => href(action=>"blob", hash=>$diff{'to_id'},
> +						     hash_base=>$hash, file_name=>$diff{'file'})},
> +				      "blob") . " | ";
>  			print $cgi->a({-href => href(action=>"blame", hash_base=>$hash,
>  			                             file_name=>$diff{'file'})},
>  			              "blame") . " | ";
> @@ -1988,6 +2000,9 @@ sub git_difftree_body {
>  				}
>  				print " | ";
>  			}
> +			print $cgi->a({-href => href(action=>"blob", hash=>$diff{'from_id'},
> +						     hash_base=>$parent, file_name=>$diff{'from_file'})},
> +				      "blob") . " | ";
>  			print $cgi->a({-href => href(action=>"blame", hash_base=>$parent,
>  			                             file_name=>$diff{'from_file'})},
>  			              "blame") . " | ";
> @@ -2155,6 +2170,7 @@ sub git_shortlog_body {
>  		                          href(action=>"commit", hash=>$commit), $ref);
>  		print "</td>\n" .
>  		      "<td class=\"link\">" .
> +		      $cgi->a({-href => href(action=>"commit", hash=>$commit)}, "commit") . " | " .
>  		      $cgi->a({-href => href(action=>"commitdiff", hash=>$commit)}, "commitdiff") . " | " .
>  		      $cgi->a({-href => href(action=>"tree", hash=>$commit, hash_base=>$commit)}, "tree");
>  		if (gitweb_have_snapshot()) {
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

```

## Jakub Narebski, 2006-10-24 08:51

Subject: Re: [PATCH] gitweb: Restore object-named links in item lists
Message-ID: <ehkk6e$mk5$1@sea.gmane.org>
URL: https://gitlist.dev/e/ehkk6e%24mk5%241%40sea.gmane.org
In-Reply-To: <20061024033610.7959.4028.stgit@rover>

```
Petr Baudis wrote:

> This restores the redundant links removed earlier. It supersedes my patch
> to stick slashes to tree entries.

I would put those "redundant links" in separate column (like for git_tags).
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git

```
