# [PATCH] gitweb: Add hash parameter in feed URL when a hash is specified in the current request

4 messages from 2008-03-21 to 2008-03-21. Participants: Jean-Baptiste Quenot, Jakub Narebski.
Thread: https://gitlist.dev/t/12796

## Jean-Baptiste Quenot, 2008-03-21 18:38

Subject: [PATCH] gitweb: Add hash parameter in feed URL when a hash is specified in the current request
Message-ID: <ae63f8b50803211138y6355fd11pa64cda50a1f53011@mail.gmail.com>
URL: https://gitlist.dev/e/ae63f8b50803211138y6355fd11pa64cda50a1f53011%40mail.gmail.com

```
Hi list,

I was annoyed with the RSS feed link at the bottom of gitweb because I
couldn't find a way to have a specific feed for every branch.  With
this patch, the generated links include the hash parameter so that
feeds are context-dependant.

Hope it helps!

---
 gitweb/gitweb.perl |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index ec73cb1..7d013bd 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -615,6 +615,7 @@ sub href(%) {
        my %mapping = @mapping;

        $params{'project'} = $project unless exists $params{'project'};
+       $params{'hash'} = $hash unless exists $params{'hash'};

        if ($params{-replay}) {
                while (my ($name, $symbol) = each %mapping) {
-- 
1.5.4.1-dirty

```

## Jakub Narebski, 2008-03-21 18:53

Subject: Re: [PATCH] gitweb: Add hash parameter in feed URL when a hash is specified in the current request
Message-ID: <m3skyjvrgr.fsf@localhost.localdomain>
URL: https://gitlist.dev/e/m3skyjvrgr.fsf%40localhost.localdomain
In-Reply-To: <ae63f8b50803211138y6355fd11pa64cda50a1f53011@mail.gmail.com>

```
"Jean-Baptiste Quenot" <jbq@caraldi.com> writes:

> Hi list,
> 
> I was annoyed with the RSS feed link at the bottom of gitweb because I
> couldn't find a way to have a specific feed for every branch.  With
> this patch, the generated links include the hash parameter so that
> feeds are context-dependant.
> 
> Hope it helps!
> 
> ---
>  gitweb/gitweb.perl |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index ec73cb1..7d013bd 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -615,6 +615,7 @@ sub href(%) {
>         my %mapping = @mapping;
> 
>         $params{'project'} = $project unless exists $params{'project'};
> +       $params{'hash'} = $hash unless exists $params{'hash'};
> 
>         if ($params{-replay}) {
>                 while (my ($name, $symbol) = each %mapping) {

It is *a* solution, but I don't think it is a *correct* solution for
this problem.  This adds 'hash' parameter to *every* link if parent
view had hash parameter passed or just defined $hash variable for
convenience.  

The project parameter is added implicitely unless turned off 
('project => undef) because almost all links need this parameter;
IMHO this is not the case for hash parameter.

Besides this solution doesn't address the naming of feed links.


I was planning to add context-dependent feed links, both in page
header (<link .../> elements in HTML <head>) and at the bottom of the
page.  Unfortunately to do this *rigth* took me more time than I
though.  (Additionally I got no responses to the post asking about
thoughs on how should this be done:)
  "[RFC] gitweb: Use feed link according to current view"
  Message-Id: <200802111900.12325.jnareb@gmail.com>
I was derailed for a bit, but I can try to do this... but after the
Easter.

-- 
Jakub Narebski
Poland
ShadeHawk on #git

```

## Jean-Baptiste Quenot, 2008-03-21 19:14

Subject: Re: [PATCH] gitweb: Add hash parameter in feed URL when a hash is specified in the current request
Message-ID: <ae63f8b50803211214i59184fd7jde7d640d6a8580b8@mail.gmail.com>
URL: https://gitlist.dev/e/ae63f8b50803211214i59184fd7jde7d640d6a8580b8%40mail.gmail.com
In-Reply-To: <m3skyjvrgr.fsf@localhost.localdomain>

```
I just read your initial post, and IMHO we should keep it simple.  I
tested the various links, and it appears to be good-enough to pass the
hash parameter for all URLs that do not specify the hash parameter
explicitly.  You can still pass it on a per-link basis if you think
it's too simplistic.

Maybe it's not the perfect solution, but at least it will improve the
current situation where some people are apparently deceived by not
having a per-branch RSS feed.  Not everyone forges URLs like we do :D

Oh, and about the title, just appending the hash is sufficient.
What's important is the contents of the feed.  Users will probably end
up editing the feed title in their reader after all.

Cheers,
-- 
Jean-Baptiste Quenot
http://caraldi.com/jbq/blog/

```

## Jakub Narebski, 2008-03-21 19:53

Subject: Re: [PATCH] gitweb: Add hash parameter in feed URL when a hash is specified in the current request
Message-ID: <200803212053.55998.jnareb@gmail.com>
URL: https://gitlist.dev/e/200803212053.55998.jnareb%40gmail.com
In-Reply-To: <ae63f8b50803211214i59184fd7jde7d640d6a8580b8@mail.gmail.com>

```
On Fri, 21 March 2008, Jean-Baptiste Quenot wrote:
>
> I just read your initial post, and IMHO we should keep it simple.  I
> tested the various links, and it appears to be good-enough to pass the
> hash parameter for all URLs that do not specify the hash parameter
> explicitly.  You can still pass it on a per-link basis if you think
> it's too simplistic.

Well, I think it would be a bit more cautious to just pass the hash
parameter to code generating feed links, in all of two places.
I'm sure about implict 'project' parameter, but not so sure about 
implicit 'hash' parameter, but if you have checked it... I'd rather 
avoid implicit parameters.

BTW. one of things I wanted to address (and what made patch long in 
coming) was that redundancy, unnecessary code duplication in feed links 
in HTML header, and in page footer.
 
> Maybe it's not the perfect solution, but at least it will improve the
> current situation where some people are apparently deceived by not
> having a per-branch RSS feed.  Not everyone forges URLs like we do :D
> 
> Oh, and about the title, just appending the hash is sufficient.
> What's important is the contents of the feed.  Users will probably end
> up editing the feed title in their reader after all.

For example 'tag' view has $hash defined, but I don't think feed 
starting at given tag is something one would want to have; tags don't 
change, feeds are about fresh, changing, live information.

When viewing history of a file, we would want to have feed of file 
history (perhaps for given branch)... and that was what I also wanted 
to address in my patch.

-- 
Jakub Narebski
Poland

```
