git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] More flexible URL patterns for gitweb
@ 2010-04-11  0:40 Damien Tournoud
  2010-04-11 17:33 ` Jakub Narebski
  0 siblings, 1 reply; 4+ messages in thread
From: Damien Tournoud @ 2010-04-11  0:40 UTC (permalink / raw)
  To: git; +Cc: Damien Tournoud

@git_base_url_list hardcodes URLs in the form "$git_base_url/$project",
which makes impossible to generate proper URLs for SSH access scenarios.

This patch implements a more flexible replacement scheme, using a
simple placeholder for the project path, and fixes the associated
documentation.

Signed-off-by: Damien Tournoud <damien@tournoud.net>
---
 gitweb/README      |   13 ++++++-------
 gitweb/gitweb.perl |    2 +-
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/gitweb/README b/gitweb/README
index ad6a04c..f16729c 100644
--- a/gitweb/README
+++ b/gitweb/README
@@ -197,13 +197,12 @@ not include variables usually directly set during build):
    full description is available as 'title' attribute (usually shown on
    mouseover).  By default set to 25, which might be too small if you
    use long project descriptions.
- * @git_base_url_list
-   List of git base URLs used for URL to where fetch project from, shown
-   in project summary page.  Full URL is "$git_base_url/$project".
-   You can setup multiple base URLs (for example one for  git:// protocol
-   access, and one for http:// "dumb" protocol access).  Note that per
-   repository configuration in 'cloneurl' file, or as values of gitweb.url
-   project config.
+ * @git_base_url_patterns
+   List of git base URLs patterns used to build the URLs displayed in the
+   project summary page. Examples include "git://git.example.com/%project",
+   "http://git.example.com/%project" and "git@git.example.com:%project".
+   Note that per repository configuration in a 'cloneurl' file, or configuration
+   values of gitweb.url in the project config take precedence over this.
  * $default_blob_plain_mimetype
    Default mimetype for blob_plain (raw) view, if mimetype checking
    doesn't result in some other type; by default 'text/plain'.
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index c356e95..0fc5957 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -4904,7 +4904,7 @@ sub git_summary {
 	# or make project git URL from git base URL and project name
 	my $url_tag = "URL";
 	my @url_list = git_get_project_url_list($project);
-	@url_list = map { "$_/$project" } @git_base_url_list unless @url_list;
+	@url_list = map { my $url = $_; $url =~ s/%project/$project/g; $url } @git_base_url_list unless @url_list;
 	foreach my $git_url (@url_list) {
 		next unless $git_url;
 		print "<tr class=\"metadata_url\"><td>$url_tag</td><td>$git_url</td></tr>\n";
-- 
1.6.5.7

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

end of thread, other threads:[~2010-04-11 21:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-11  0:40 [PATCH] More flexible URL patterns for gitweb Damien Tournoud
2010-04-11 17:33 ` Jakub Narebski
2010-04-11 17:46   ` Damien Tournoud
2010-04-11 21:09     ` Jakub Narebski

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