Code

gitweb: Show project's git URL on summary page
authorJakub Narebski <jnareb@gmail.com>
Tue, 15 Aug 2006 21:03:17 +0000 (23:03 +0200)
committerJunio C Hamano <junkio@cox.net>
Wed, 16 Aug 2006 04:54:26 +0000 (21:54 -0700)
From 31e4de9f22a3b17d4ad0ac800132e4e1a0a15006 Mon Sep 17 00:00:00 2001
From: David Rientjes <rientjes@google.com>
Date: Tue, 15 Aug 2006 11:43:04 -0700
Subject: [PATCH] gitweb: Show project's git URL on summary page

Add support for showing multiple clone/fetch git URLs for project on
a summary page. URL for project is created from base URL and project
name.

For example for XMMS2 project (xmms.se) the git base URL would be
git://git.xmms.se/xmms2.

With corrections from David Rientjes <rientjes@google.com>

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Makefile
gitweb/gitweb.perl

index 399d2333d004fd6a9424257e6bceb6ae173cb9e1..56a915e13f6304bc1a6781eafc8182b5b5b7cde6 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -126,6 +126,7 @@ GITWEB_CONFIG = gitweb_config.perl
 GITWEB_HOME_LINK_STR = projects
 GITWEB_SITENAME =
 GITWEB_PROJECTROOT = /pub/git
+GITWEB_BASE_URL =
 GITWEB_LIST =
 GITWEB_HOMETEXT = indextext.html
 GITWEB_CSS = gitweb.css
@@ -622,6 +623,7 @@ gitweb/gitweb.cgi: gitweb/gitweb.perl
            -e 's|++GITWEB_HOME_LINK_STR++|$(GITWEB_HOME_LINK_STR)|g' \
            -e 's|++GITWEB_SITENAME++|$(GITWEB_SITENAME)|g' \
            -e 's|++GITWEB_PROJECTROOT++|$(GITWEB_PROJECTROOT)|g' \
+           -e 's|++GITWEB_BASE_URL++|$(GITWEB_BASE_URL)|g' \
            -e 's|++GITWEB_LIST++|$(GITWEB_LIST)|g' \
            -e 's|++GITWEB_HOMETEXT++|$(GITWEB_HOMETEXT)|g' \
            -e 's|++GITWEB_CSS++|$(GITWEB_CSS)|g' \
index b5b89de91bc13a4a96b97b72437de126b5bc7274..0e1de297e926cf03564de75a81f80187ad594a8f 100755 (executable)
@@ -54,6 +54,10 @@ our $logo = "++GITWEB_LOGO++";
 # source of projects list
 our $projects_list = "++GITWEB_LIST++";
 
+# list of git base URLs used for URL to where fetch project from,
+# i.e. full URL is "$git_base_url/$project"
+our @git_base_url_list = ("++GITWEB_BASE_URL++");
+
 # default blob_plain mimetype and default charset for text/plain blob
 our $default_blob_plain_mimetype = 'text/plain';
 our $default_text_plain_charset  = undef;
@@ -1668,8 +1672,14 @@ sub git_summary {
        print "<table cellspacing=\"0\">\n" .
              "<tr><td>description</td><td>" . esc_html($descr) . "</td></tr>\n" .
              "<tr><td>owner</td><td>$owner</td></tr>\n" .
-             "<tr><td>last change</td><td>$cd{'rfc2822'}</td></tr>\n" .
-             "</table>\n";
+             "<tr><td>last change</td><td>$cd{'rfc2822'}</td></tr>\n";
+       my $url_tag = "URL";
+       foreach my $git_base_url (@git_base_url_list) {
+               next unless $git_base_url;
+               print "<tr><td>$url_tag</td><td>$git_base_url/$project</td></tr>\n";
+               $url_tag = "";
+       }
+       print "</table>\n";
 
        open my $fd, "-|", $GIT, "rev-list", "--max-count=17", git_get_head_hash($project)
                or die_error(undef, "Open git-rev-list failed");