{"thread":{"id":"26098","subject":"[PATCH] gitweb: Include links to feeds in HTML header only for '200 OK' response","startedAt":"2010-12-18T20:02:13Z","lastAt":"2010-12-20T23:59:09Z","messageCount":5,"participants":["Jakub Narebski","J.H."],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"158328","messageId":"20101218195848.16201.67691.stgit@localhost.localdomain","threadId":"26098","inReplyTo":null,"subject":"[PATCH] gitweb: Include links to feeds in HTML header only for '200 OK' response","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2010-12-18T20:02:13Z","receivedAt":"2010-12-18T20:02:13Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"To do that, generating \"<link />\"s to feeds were refactored into\nprint_feed_meta() subroutine, to keep nesting (indent) level in\ngit_header_html() low.  This has also the advantage of making code\nmore clear.\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>\n---\n gitweb/gitweb.perl |   89 +++++++++++++++++++++++++++-------------------------\n 1 files changed, 47 insertions(+), 42 deletions(-)\n\ndiff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\nindex d521c93..d965cda 100755\n--- a/gitweb/gitweb.perl\n+++ b/gitweb/gitweb.perl\n@@ -3479,6 +3479,51 @@ sub get_page_title {\n \treturn $title;\n }\n \n+sub print_feed_meta {\n+\tif (defined $project) {\n+\t\tmy %href_params = get_feed_info();\n+\t\tif (!exists $href_params{'-title'}) {\n+\t\t\t$href_params{'-title'} = 'log';\n+\t\t}\n+\n+\t\tforeach my $format qw(RSS Atom) {\n+\t\t\tmy $type = lc($format);\n+\t\t\tmy %link_attr = (\n+\t\t\t\t'-rel' => 'alternate',\n+\t\t\t\t'-title' => esc_attr(\"$project - $href_params{'-title'} - $format feed\"),\n+\t\t\t\t'-type' => \"application/$type+xml\"\n+\t\t\t);\n+\n+\t\t\t$href_params{'action'} = $type;\n+\t\t\t$link_attr{'-href'} = href(%href_params);\n+\t\t\tprint \"<link \".\n+\t\t\t      \"rel=\\\"$link_attr{'-rel'}\\\" \".\n+\t\t\t      \"title=\\\"$link_attr{'-title'}\\\" \".\n+\t\t\t      \"href=\\\"$link_attr{'-href'}\\\" \".\n+\t\t\t      \"type=\\\"$link_attr{'-type'}\\\" \".\n+\t\t\t      \"/>\\n\";\n+\n+\t\t\t$href_params{'extra_options'} = '--no-merges';\n+\t\t\t$link_attr{'-href'} = href(%href_params);\n+\t\t\t$link_attr{'-title'} .= ' (no merges)';\n+\t\t\tprint \"<link \".\n+\t\t\t      \"rel=\\\"$link_attr{'-rel'}\\\" \".\n+\t\t\t      \"title=\\\"$link_attr{'-title'}\\\" \".\n+\t\t\t      \"href=\\\"$link_attr{'-href'}\\\" \".\n+\t\t\t      \"type=\\\"$link_attr{'-type'}\\\" \".\n+\t\t\t      \"/>\\n\";\n+\t\t}\n+\n+\t} else {\n+\t\tprintf('<link rel=\"alternate\" title=\"%s projects list\" '.\n+\t\t       'href=\"%s\" type=\"text/plain; charset=utf-8\" />'.\"\\n\",\n+\t\t       esc_attr($site_name), href(project=>undef, action=>\"project_index\"));\n+\t\tprintf('<link rel=\"alternate\" title=\"%s projects feeds\" '.\n+\t\t       'href=\"%s\" type=\"text/x-opml\" />'.\"\\n\",\n+\t\t       esc_attr($site_name), href(project=>undef, action=>\"opml\"));\n+\t}\n+}\n+\n sub git_header_html {\n \tmy $status = shift || \"200 OK\";\n \tmy $expires = shift;\n@@ -3528,48 +3573,8 @@ EOF\n \t\t\tprint '<link rel=\"stylesheet\" type=\"text/css\" href=\"'.esc_url($stylesheet).'\"/>'.\"\\n\";\n \t\t}\n \t}\n-\tif (defined $project) {\n-\t\tmy %href_params = get_feed_info();\n-\t\tif (!exists $href_params{'-title'}) {\n-\t\t\t$href_params{'-title'} = 'log';\n-\t\t}\n-\n-\t\tforeach my $format qw(RSS Atom) {\n-\t\t\tmy $type = lc($format);\n-\t\t\tmy %link_attr = (\n-\t\t\t\t'-rel' => 'alternate',\n-\t\t\t\t'-title' => esc_attr(\"$project - $href_params{'-title'} - $format feed\"),\n-\t\t\t\t'-type' => \"application/$type+xml\"\n-\t\t\t);\n-\n-\t\t\t$href_params{'action'} = $type;\n-\t\t\t$link_attr{'-href'} = href(%href_params);\n-\t\t\tprint \"<link \".\n-\t\t\t      \"rel=\\\"$link_attr{'-rel'}\\\" \".\n-\t\t\t      \"title=\\\"$link_attr{'-title'}\\\" \".\n-\t\t\t      \"href=\\\"$link_attr{'-href'}\\\" \".\n-\t\t\t      \"type=\\\"$link_attr{'-type'}\\\" \".\n-\t\t\t      \"/>\\n\";\n-\n-\t\t\t$href_params{'extra_options'} = '--no-merges';\n-\t\t\t$link_attr{'-href'} = href(%href_params);\n-\t\t\t$link_attr{'-title'} .= ' (no merges)';\n-\t\t\tprint \"<link \".\n-\t\t\t      \"rel=\\\"$link_attr{'-rel'}\\\" \".\n-\t\t\t      \"title=\\\"$link_attr{'-title'}\\\" \".\n-\t\t\t      \"href=\\\"$link_attr{'-href'}\\\" \".\n-\t\t\t      \"type=\\\"$link_attr{'-type'}\\\" \".\n-\t\t\t      \"/>\\n\";\n-\t\t}\n-\n-\t} else {\n-\t\tprintf('<link rel=\"alternate\" title=\"%s projects list\" '.\n-\t\t       'href=\"%s\" type=\"text/plain; charset=utf-8\" />'.\"\\n\",\n-\t\t       esc_attr($site_name), href(project=>undef, action=>\"project_index\"));\n-\t\tprintf('<link rel=\"alternate\" title=\"%s projects feeds\" '.\n-\t\t       'href=\"%s\" type=\"text/x-opml\" />'.\"\\n\",\n-\t\t       esc_attr($site_name), href(project=>undef, action=>\"opml\"));\n-\t}\n+\tprint_feed_meta()\n+\t\tif ($status eq '200 OK');\n \tif (defined $favicon) {\n \t\tprint qq(<link rel=\"shortcut icon\" href=\").esc_url($favicon).qq(\" type=\"image/png\" />\\n);\n \t}\n"},{"id":"158330","messageId":"4D0D1529.6030806@eaglescrag.net","threadId":"26098","inReplyTo":"20101218195848.16201.67691.stgit@localhost.localdomain","subject":"Re: [PATCH] gitweb: Include links to feeds in HTML header only for '200 OK' response","fromName":"J.H.","fromEmail":"warthog9@eaglescrag.net","sentAt":"2010-12-18T20:10:17Z","receivedAt":"2010-12-18T20:10:17Z","isPatch":true,"sender":{"key":"warthog9@kernel.org","avatar":"https://avatars.githubusercontent.com/u/2334704?v=4"},"body":"I've no objection, you can add a sign-off from me.\n\n- John\n\nOn 12/18/2010 12:02 PM, Jakub Narebski wrote:\n> To do that, generating \"<link />\"s to feeds were refactored into\n> print_feed_meta() subroutine, to keep nesting (indent) level in\n> git_header_html() low.  This has also the advantage of making code\n> more clear.\n> \n> Signed-off-by: Jakub Narebski <jnareb@gmail.com>\n> ---\n>  gitweb/gitweb.perl |   89 +++++++++++++++++++++++++++-------------------------\n>  1 files changed, 47 insertions(+), 42 deletions(-)\n> \n> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\n> index d521c93..d965cda 100755\n> --- a/gitweb/gitweb.perl\n> +++ b/gitweb/gitweb.perl\n> @@ -3479,6 +3479,51 @@ sub get_page_title {\n>  \treturn $title;\n>  }\n>  \n> +sub print_feed_meta {\n> +\tif (defined $project) {\n> +\t\tmy %href_params = get_feed_info();\n> +\t\tif (!exists $href_params{'-title'}) {\n> +\t\t\t$href_params{'-title'} = 'log';\n> +\t\t}\n> +\n> +\t\tforeach my $format qw(RSS Atom) {\n> +\t\t\tmy $type = lc($format);\n> +\t\t\tmy %link_attr = (\n> +\t\t\t\t'-rel' => 'alternate',\n> +\t\t\t\t'-title' => esc_attr(\"$project - $href_params{'-title'} - $format feed\"),\n> +\t\t\t\t'-type' => \"application/$type+xml\"\n> +\t\t\t);\n> +\n> +\t\t\t$href_params{'action'} = $type;\n> +\t\t\t$link_attr{'-href'} = href(%href_params);\n> +\t\t\tprint \"<link \".\n> +\t\t\t      \"rel=\\\"$link_attr{'-rel'}\\\" \".\n> +\t\t\t      \"title=\\\"$link_attr{'-title'}\\\" \".\n> +\t\t\t      \"href=\\\"$link_attr{'-href'}\\\" \".\n> +\t\t\t      \"type=\\\"$link_attr{'-type'}\\\" \".\n> +\t\t\t      \"/>\\n\";\n> +\n> +\t\t\t$href_params{'extra_options'} = '--no-merges';\n> +\t\t\t$link_attr{'-href'} = href(%href_params);\n> +\t\t\t$link_attr{'-title'} .= ' (no merges)';\n> +\t\t\tprint \"<link \".\n> +\t\t\t      \"rel=\\\"$link_attr{'-rel'}\\\" \".\n> +\t\t\t      \"title=\\\"$link_attr{'-title'}\\\" \".\n> +\t\t\t      \"href=\\\"$link_attr{'-href'}\\\" \".\n> +\t\t\t      \"type=\\\"$link_attr{'-type'}\\\" \".\n> +\t\t\t      \"/>\\n\";\n> +\t\t}\n> +\n> +\t} else {\n> +\t\tprintf('<link rel=\"alternate\" title=\"%s projects list\" '.\n> +\t\t       'href=\"%s\" type=\"text/plain; charset=utf-8\" />'.\"\\n\",\n> +\t\t       esc_attr($site_name), href(project=>undef, action=>\"project_index\"));\n> +\t\tprintf('<link rel=\"alternate\" title=\"%s projects feeds\" '.\n> +\t\t       'href=\"%s\" type=\"text/x-opml\" />'.\"\\n\",\n> +\t\t       esc_attr($site_name), href(project=>undef, action=>\"opml\"));\n> +\t}\n> +}\n> +\n>  sub git_header_html {\n>  \tmy $status = shift || \"200 OK\";\n>  \tmy $expires = shift;\n> @@ -3528,48 +3573,8 @@ EOF\n>  \t\t\tprint '<link rel=\"stylesheet\" type=\"text/css\" href=\"'.esc_url($stylesheet).'\"/>'.\"\\n\";\n>  \t\t}\n>  \t}\n> -\tif (defined $project) {\n> -\t\tmy %href_params = get_feed_info();\n> -\t\tif (!exists $href_params{'-title'}) {\n> -\t\t\t$href_params{'-title'} = 'log';\n> -\t\t}\n> -\n> -\t\tforeach my $format qw(RSS Atom) {\n> -\t\t\tmy $type = lc($format);\n> -\t\t\tmy %link_attr = (\n> -\t\t\t\t'-rel' => 'alternate',\n> -\t\t\t\t'-title' => esc_attr(\"$project - $href_params{'-title'} - $format feed\"),\n> -\t\t\t\t'-type' => \"application/$type+xml\"\n> -\t\t\t);\n> -\n> -\t\t\t$href_params{'action'} = $type;\n> -\t\t\t$link_attr{'-href'} = href(%href_params);\n> -\t\t\tprint \"<link \".\n> -\t\t\t      \"rel=\\\"$link_attr{'-rel'}\\\" \".\n> -\t\t\t      \"title=\\\"$link_attr{'-title'}\\\" \".\n> -\t\t\t      \"href=\\\"$link_attr{'-href'}\\\" \".\n> -\t\t\t      \"type=\\\"$link_attr{'-type'}\\\" \".\n> -\t\t\t      \"/>\\n\";\n> -\n> -\t\t\t$href_params{'extra_options'} = '--no-merges';\n> -\t\t\t$link_attr{'-href'} = href(%href_params);\n> -\t\t\t$link_attr{'-title'} .= ' (no merges)';\n> -\t\t\tprint \"<link \".\n> -\t\t\t      \"rel=\\\"$link_attr{'-rel'}\\\" \".\n> -\t\t\t      \"title=\\\"$link_attr{'-title'}\\\" \".\n> -\t\t\t      \"href=\\\"$link_attr{'-href'}\\\" \".\n> -\t\t\t      \"type=\\\"$link_attr{'-type'}\\\" \".\n> -\t\t\t      \"/>\\n\";\n> -\t\t}\n> -\n> -\t} else {\n> -\t\tprintf('<link rel=\"alternate\" title=\"%s projects list\" '.\n> -\t\t       'href=\"%s\" type=\"text/plain; charset=utf-8\" />'.\"\\n\",\n> -\t\t       esc_attr($site_name), href(project=>undef, action=>\"project_index\"));\n> -\t\tprintf('<link rel=\"alternate\" title=\"%s projects feeds\" '.\n> -\t\t       'href=\"%s\" type=\"text/x-opml\" />'.\"\\n\",\n> -\t\t       esc_attr($site_name), href(project=>undef, action=>\"opml\"));\n> -\t}\n> +\tprint_feed_meta()\n> +\t\tif ($status eq '200 OK');\n>  \tif (defined $favicon) {\n>  \t\tprint qq(<link rel=\"shortcut icon\" href=\").esc_url($favicon).qq(\" type=\"image/png\" />\\n);\n>  \t}\n"},{"id":"158339","messageId":"201012182248.40731.jnareb@gmail.com","threadId":"26098","inReplyTo":"4D0D1529.6030806@eaglescrag.net","subject":"Re: [PATCH] gitweb: Include links to feeds in HTML header only for '200 OK' response","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2010-12-18T21:48:39Z","receivedAt":"2010-12-18T21:48:39Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"J.H. wrote:\n\n> I've no objection, you can add a sign-off from me.\n\nErrr... sign-off or ack?  Signed-off-by is about provenance of code...\n\n> On 12/18/2010 12:02 PM, Jakub Narebski wrote:\n> > To do that, generating \"<link />\"s to feeds were refactored into\n> > print_feed_meta() subroutine, to keep nesting (indent) level in\n> > git_header_html() low.  This has also the advantage of making code\n> > more clear.\n> > \n> > Signed-off-by: Jakub Narebski <jnareb@gmail.com>\n> > ---\n> >  gitweb/gitweb.perl |   89 +++++++++++++++++++++++++++-------------------------\n> >  1 files changed, 47 insertions(+), 42 deletions(-)\n> > \n> > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\n> > index d521c93..d965cda 100755\n> > --- a/gitweb/gitweb.perl\n> > +++ b/gitweb/gitweb.perl\n> > @@ -3479,6 +3479,51 @@ sub get_page_title {\n> >  \treturn $title;\n> >  }\n> >  \n> > +sub print_feed_meta {\n> > +\tif (defined $project) {\n> > +\t\tmy %href_params = get_feed_info();\n> > +\t\tif (!exists $href_params{'-title'}) {\n> > +\t\t\t$href_params{'-title'} = 'log';\n> > +\t\t}\n> > +\n> > +\t\tforeach my $format qw(RSS Atom) {\n> > +\t\t\tmy $type = lc($format);\n> > +\t\t\tmy %link_attr = (\n> > +\t\t\t\t'-rel' => 'alternate',\n> > +\t\t\t\t'-title' => esc_attr(\"$project - $href_params{'-title'} - $format feed\"),\n> > +\t\t\t\t'-type' => \"application/$type+xml\"\n> > +\t\t\t);\n> > +\n> > +\t\t\t$href_params{'action'} = $type;\n> > +\t\t\t$link_attr{'-href'} = href(%href_params);\n> > +\t\t\tprint \"<link \".\n> > +\t\t\t      \"rel=\\\"$link_attr{'-rel'}\\\" \".\n> > +\t\t\t      \"title=\\\"$link_attr{'-title'}\\\" \".\n> > +\t\t\t      \"href=\\\"$link_attr{'-href'}\\\" \".\n> > +\t\t\t      \"type=\\\"$link_attr{'-type'}\\\" \".\n> > +\t\t\t      \"/>\\n\";\n> > +\n> > +\t\t\t$href_params{'extra_options'} = '--no-merges';\n> > +\t\t\t$link_attr{'-href'} = href(%href_params);\n> > +\t\t\t$link_attr{'-title'} .= ' (no merges)';\n> > +\t\t\tprint \"<link \".\n> > +\t\t\t      \"rel=\\\"$link_attr{'-rel'}\\\" \".\n> > +\t\t\t      \"title=\\\"$link_attr{'-title'}\\\" \".\n> > +\t\t\t      \"href=\\\"$link_attr{'-href'}\\\" \".\n> > +\t\t\t      \"type=\\\"$link_attr{'-type'}\\\" \".\n> > +\t\t\t      \"/>\\n\";\n> > +\t\t}\n> > +\n> > +\t} else {\n> > +\t\tprintf('<link rel=\"alternate\" title=\"%s projects list\" '.\n> > +\t\t       'href=\"%s\" type=\"text/plain; charset=utf-8\" />'.\"\\n\",\n> > +\t\t       esc_attr($site_name), href(project=>undef, action=>\"project_index\"));\n> > +\t\tprintf('<link rel=\"alternate\" title=\"%s projects feeds\" '.\n> > +\t\t       'href=\"%s\" type=\"text/x-opml\" />'.\"\\n\",\n> > +\t\t       esc_attr($site_name), href(project=>undef, action=>\"opml\"));\n> > +\t}\n> > +}\n> > +\n> >  sub git_header_html {\n> >  \tmy $status = shift || \"200 OK\";\n> >  \tmy $expires = shift;\n> > @@ -3528,48 +3573,8 @@ EOF\n> >  \t\t\tprint '<link rel=\"stylesheet\" type=\"text/css\" href=\"'.esc_url($stylesheet).'\"/>'.\"\\n\";\n> >  \t\t}\n> >  \t}\n> > -\tif (defined $project) {\n> > -\t\tmy %href_params = get_feed_info();\n> > -\t\tif (!exists $href_params{'-title'}) {\n> > -\t\t\t$href_params{'-title'} = 'log';\n> > -\t\t}\n> > -\n> > -\t\tforeach my $format qw(RSS Atom) {\n> > -\t\t\tmy $type = lc($format);\n> > -\t\t\tmy %link_attr = (\n> > -\t\t\t\t'-rel' => 'alternate',\n> > -\t\t\t\t'-title' => esc_attr(\"$project - $href_params{'-title'} - $format feed\"),\n> > -\t\t\t\t'-type' => \"application/$type+xml\"\n> > -\t\t\t);\n> > -\n> > -\t\t\t$href_params{'action'} = $type;\n> > -\t\t\t$link_attr{'-href'} = href(%href_params);\n> > -\t\t\tprint \"<link \".\n> > -\t\t\t      \"rel=\\\"$link_attr{'-rel'}\\\" \".\n> > -\t\t\t      \"title=\\\"$link_attr{'-title'}\\\" \".\n> > -\t\t\t      \"href=\\\"$link_attr{'-href'}\\\" \".\n> > -\t\t\t      \"type=\\\"$link_attr{'-type'}\\\" \".\n> > -\t\t\t      \"/>\\n\";\n> > -\n> > -\t\t\t$href_params{'extra_options'} = '--no-merges';\n> > -\t\t\t$link_attr{'-href'} = href(%href_params);\n> > -\t\t\t$link_attr{'-title'} .= ' (no merges)';\n> > -\t\t\tprint \"<link \".\n> > -\t\t\t      \"rel=\\\"$link_attr{'-rel'}\\\" \".\n> > -\t\t\t      \"title=\\\"$link_attr{'-title'}\\\" \".\n> > -\t\t\t      \"href=\\\"$link_attr{'-href'}\\\" \".\n> > -\t\t\t      \"type=\\\"$link_attr{'-type'}\\\" \".\n> > -\t\t\t      \"/>\\n\";\n> > -\t\t}\n> > -\n> > -\t} else {\n> > -\t\tprintf('<link rel=\"alternate\" title=\"%s projects list\" '.\n> > -\t\t       'href=\"%s\" type=\"text/plain; charset=utf-8\" />'.\"\\n\",\n> > -\t\t       esc_attr($site_name), href(project=>undef, action=>\"project_index\"));\n> > -\t\tprintf('<link rel=\"alternate\" title=\"%s projects feeds\" '.\n> > -\t\t       'href=\"%s\" type=\"text/x-opml\" />'.\"\\n\",\n> > -\t\t       esc_attr($site_name), href(project=>undef, action=>\"opml\"));\n> > -\t}\n> > +\tprint_feed_meta()\n> > +\t\tif ($status eq '200 OK');\n> >  \tif (defined $favicon) {\n> >  \t\tprint qq(<link rel=\"shortcut icon\" href=\").esc_url($favicon).qq(\" type=\"image/png\" />\\n);\n> >  \t}\n> \n> \n\n-- \nJakub Narebski\nPoland\n"},{"id":"158340","messageId":"4D0D2D52.9000108@eaglescrag.net","threadId":"26098","inReplyTo":"201012182248.40731.jnareb@gmail.com","subject":"Re: [PATCH] gitweb: Include links to feeds in HTML header only for '200 OK' response","fromName":"J.H.","fromEmail":"warthog9@eaglescrag.net","sentAt":"2010-12-18T21:53:22Z","receivedAt":"2010-12-18T21:53:22Z","isPatch":true,"sender":{"key":"warthog9@kernel.org","avatar":"https://avatars.githubusercontent.com/u/2334704?v=4"},"body":"On 12/18/2010 01:48 PM, Jakub Narebski wrote:\n> J.H. wrote:\n> \n>> I've no objection, you can add a sign-off from me.\n> \n> Errr... sign-off or ack?  Signed-off-by is about provenance of code...\n\nConsidering this has already been running on kernel.org - sign-off.\n\nhttp://git.kernel.org/?p=git/warthog9/gitweb.git;a=commit;h=41d9c63ad27a8d3c95bf8bb1ec5876483d39fbd6\n\n- John 'Warthog9' Hawley\n"},{"id":"158420","messageId":"201012210059.10829.jnareb@gmail.com","threadId":"26098","inReplyTo":"4D0D2D52.9000108@eaglescrag.net","subject":"Re: [PATCH] gitweb: Include links to feeds in HTML header only for '200 OK' response","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2010-12-20T23:59:09Z","receivedAt":"2010-12-20T23:59:09Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"On Sat, 18 Dec 2010, J.H. wrote:\n> On 12/18/2010 01:48 PM, Jakub Narebski wrote:\n>> J.H. wrote:\n>> \n>>> I've no objection, you can add a sign-off from me.\n>> \n>> Errr... sign-off or ack?  Signed-off-by is about provenance of code...\n> \n> Considering this has already been running on kernel.org - sign-off.\n> \n> http://git.kernel.org/?p=git/warthog9/gitweb.git;a=commit;h=41d9c63ad27a8d3c95bf8bb1ec5876483d39fbd6\n\n>From Documentation/SubmittingPatches:\n\n  The sign-off is a simple line at the end of the explanation for\n  the patch, which certifies that you wrote it or otherwise have\n  the right to pass it on as a open-source patch.\n\nSo sign-off is about code provenance.  As I don't think that code goes\ninto official git/git.git repository managed by Junio via your\ngit/warthog9/gitweb.git repository, I don't quite see why it is *sign-off*\nfrom you, and not ack (Acked-by:).\n\n-- \nJakub Narebski\nPoland\n"}]}