[PATCH 0/1] : [GITWEB] : Git link on project list page

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH 0/1] : [GITWEB] : Git link on project list page

J.H.

This is a quick port of the git link patch that's present on kernel.org's gitweb, project list page.

- John 'Warthog9' Hawley
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reply | Threaded
Open this post in threaded view
|

[PATCH 1/1] Add "git" link to the end of project line on the project_list page.

J.H.

This makes the assumption that all repositories are available from a unified location.

Using .git/cloneurl is actually a problem as that can define multiple URLs to clone from, and we are seeking a single unified URL for now.

Signed-off-by: John 'Warthog9' Hawley <[hidden email]>
---
 gitweb/gitweb.perl |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 90cd99b..c33f4ed 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -108,6 +108,14 @@ our $mimetypes_file = undef;
 # could be even 'utf-8' for the old behavior)
 our $fallback_encoding = 'latin1';
 
+# enable / disable a final link on the project list page
+# that will be the location of that actuall git url
+# it will output this in the format:
+# git://hostname/path/to/tree.git
+# disabled = blank or undef
+# enable = url to prefix before filling in the trailing path to the git repo
+our $projectlist_gitlinkurl = undef;
+
 # rename detection options for git-diff and git-diff-tree
 # - default is '-M', with the cost proportional to
 #   (number of removed files) * (number of new files).
@@ -3661,8 +3669,11 @@ sub git_project_list_body {
       $cgi->a({-href => href(project=>$pr->{'path'}, action=>"shortlog")}, "shortlog") . " | " .
       $cgi->a({-href => href(project=>$pr->{'path'}, action=>"log")}, "log") . " | " .
       $cgi->a({-href => href(project=>$pr->{'path'}, action=>"tree")}, "tree") .
-      ($pr->{'forks'} ? " | " . $cgi->a({-href => href(project=>$pr->{'path'}, action=>"forks")}, "forks") : '') .
-      "</td>\n" .
+      ($pr->{'forks'} ? " | " . $cgi->a({-href => href(project=>$pr->{'path'}, action=>"forks")}, "forks") : '');
+ if( $projectlist_gitlinkurl != undef && $projectlist_gitlinkurl ne "" ){
+                        print " | ". $cgi->a({-href => "git://projectlist_gitlinkurl/".esc_html($pr->{'path'})}, "git");
+ }
+ print "</td>\n" .
       "</tr>\n";
  }
  if (defined $extra) {
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/1] Add "git" link to the end of project line on the project_list page.

Petr Baudis
On Sun, Aug 03, 2008 at 07:00:17PM -0700, [hidden email] wrote:

> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index 90cd99b..c33f4ed 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -108,6 +108,14 @@ our $mimetypes_file = undef;
>  # could be even 'utf-8' for the old behavior)
>  our $fallback_encoding = 'latin1';
>  
> +# enable / disable a final link on the project list page
> +# that will be the location of that actuall git url
> +# it will output this in the format:
> +# git://hostname/path/to/tree.git
> +# disabled = blank or undef
> +# enable = url to prefix before filling in the trailing path to the git repo
> +our $projectlist_gitlinkurl = undef;
> +
>  # rename detection options for git-diff and git-diff-tree
>  # - default is '-M', with the cost proportional to
>  #   (number of removed files) * (number of new files).

Note that I will soon submit a generic patch that lets you extend
the link lists with custom entries - you could easily use that for
the git links (I'm personally not convinced how useful they really are
on the project list page), I will use them for the graphiclog, edit and
fork links at repo.or.cz.

> +                        print " | ". $cgi->a({-href => "git://projectlist_gitlinkurl/".esc_html($pr->{'path'})}, "git");

You meant $projectlist_gitlinkurl.


--
                                Petr "Pasky" Baudis
The next generation of interesting software will be done
on the Macintosh, not the IBM PC.  -- Bill Gates
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/1] Add "git" link to the end of project line on the project_list page.

J.H.
On Mon, 2008-08-04 at 04:26 +0200, Petr Baudis wrote:

> On Sun, Aug 03, 2008 at 07:00:17PM -0700, [hidden email] wrote:
> > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> > index 90cd99b..c33f4ed 100755
> > --- a/gitweb/gitweb.perl
> > +++ b/gitweb/gitweb.perl
> > @@ -108,6 +108,14 @@ our $mimetypes_file = undef;
> >  # could be even 'utf-8' for the old behavior)
> >  our $fallback_encoding = 'latin1';
> >  
> > +# enable / disable a final link on the project list page
> > +# that will be the location of that actuall git url
> > +# it will output this in the format:
> > +# git://hostname/path/to/tree.git
> > +# disabled = blank or undef
> > +# enable = url to prefix before filling in the trailing path to the git repo
> > +our $projectlist_gitlinkurl = undef;
> > +
> >  # rename detection options for git-diff and git-diff-tree
> >  # - default is '-M', with the cost proportional to
> >  #   (number of removed files) * (number of new files).
>
> Note that I will soon submit a generic patch that lets you extend
> the link lists with custom entries - you could easily use that for
> the git links (I'm personally not convinced how useful they really are
> on the project list page), I will use them for the graphiclog, edit and
> fork links at repo.or.cz.

I've found them useful, and there were requests out on the mailing list
for this to be added, thus the patching.  It's not on by default, so
it's impact should be minimal unless people specifically want the link.

>
> > +                        print " | ". $cgi->a({-href => "git://projectlist_gitlinkurl/".esc_html($pr->{'path'})}, "git");
>
> You meant $projectlist_gitlinkurl.

grrr - I've fixed that same bug twice now, had problems with something
and must have reverted the wrong thing, I'll fix it and re-submit.

When you do the more generic patch to extend the links I'll flip this
over to that code, unless you think it's worth holding off and waiting
for that change to go in first?

- John 'Warthog9' Hawley

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/1] Add "git" link to the end of project line on the project_list page.

Petr Baudis
On Sun, Aug 03, 2008 at 07:38:37PM -0700, J.H. wrote:

> On Mon, 2008-08-04 at 04:26 +0200, Petr Baudis wrote:
> > On Sun, Aug 03, 2008 at 07:00:17PM -0700, [hidden email] wrote:
> > > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> > > index 90cd99b..c33f4ed 100755
> > > --- a/gitweb/gitweb.perl
> > > +++ b/gitweb/gitweb.perl
> > > @@ -108,6 +108,14 @@ our $mimetypes_file = undef;
> > >  # could be even 'utf-8' for the old behavior)
> > >  our $fallback_encoding = 'latin1';
> > >  
> > > +# enable / disable a final link on the project list page
> > > +# that will be the location of that actuall git url
> > > +# it will output this in the format:
> > > +# git://hostname/path/to/tree.git
> > > +# disabled = blank or undef
> > > +# enable = url to prefix before filling in the trailing path to the git repo
> > > +our $projectlist_gitlinkurl = undef;
> > > +
> > >  # rename detection options for git-diff and git-diff-tree
> > >  # - default is '-M', with the cost proportional to
> > >  #   (number of removed files) * (number of new files).

By the way, you should add this to gitweb/README too (though I've never
been too fond of listing the options twice myself; my strategy to avoid
it is to just add as much stuff possible to the $features hash ;-).

> > > +               if( $projectlist_gitlinkurl != undef && $projectlist_gitlinkurl ne "" ){

Coding style conformant and equivalent but simpler variant would be

        if ($projectlist_gitlinkurl) {

right?

> > > +                        print " | ". $cgi->a({-href => "git://projectlist_gitlinkurl/".esc_html($pr->{'path'})}, "git");
> >
> > You meant $projectlist_gitlinkurl.
>
> grrr - I've fixed that same bug twice now, had problems with something
> and must have reverted the wrong thing, I'll fix it and re-submit.
>
> When you do the more generic patch to extend the links I'll flip this
> over to that code, unless you think it's worth holding off and waiting
> for that change to go in first?

It's a new feature so it probably won't make it to 1.6.0 - so let's see
if I manage to submit mine before 1.6.0. ;-)

--
                                Petr "Pasky" Baudis
The next generation of interesting software will be done
on the Macintosh, not the IBM PC.  -- Bill Gates
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html