{"thread":{"id":"8923","subject":"[PATCH] gitweb: New cgi parameter: filter","startedAt":"2007-07-08T01:35:43Z","lastAt":"2007-07-13T00:03:17Z","messageCount":9,"participants":["Miklos Vajna","VMiklos","Jakub Narebski","Johannes Schindelin","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"46725","messageId":"20070708013543.GD29994@genesis.frugalware.org","threadId":"8923","inReplyTo":null,"subject":"[PATCH] gitweb: New cgi parameter: filter","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2007-07-08T01:35:43Z","receivedAt":"2007-07-08T01:35:43Z","isPatch":true,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"Currently the only supported value is \"nomerges\". This allows one to filter\nmerges from many actions, like rss, log and shortlog.\n\nSigned-off-by: Miklos Vajna <vmiklos@frugalware.org>\n---\n gitweb/gitweb.perl |    9 +++++++++\n 1 files changed, 9 insertions(+), 0 deletions(-)\n\ndiff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\nindex dc609f4..ce592cf 100755\n--- a/gitweb/gitweb.perl\n+++ b/gitweb/gitweb.perl\n@@ -383,6 +383,13 @@ if (defined $hash_base) {\n \t}\n }\n \n+our $filter = $cgi->param('filter');\n+if (defined $filter) {\n+\tif ($filter != \"nomerges\") {\n+\t\tdie_error(undef, \"Invalid filter parameter\");\n+\t}\n+}\n+\n our $hash_parent_base = $cgi->param('hpb');\n if (defined $hash_parent_base) {\n \tif (!validate_refname($hash_parent_base)) {\n@@ -534,6 +541,7 @@ sub href(%) {\n \t\taction => \"a\",\n \t\tfile_name => \"f\",\n \t\tfile_parent => \"fp\",\n+\t\tfilter => \"filter\",\n \t\thash => \"h\",\n \t\thash_parent => \"hp\",\n \t\thash_base => \"hb\",\n@@ -1770,6 +1778,7 @@ sub parse_commits {\n \t\t($arg ? ($arg) : ()),\n \t\t(\"--max-count=\" . $maxcount),\n \t\t(\"--skip=\" . $skip),\n+\t\t((defined $filter and $filter == \"nomerges\") ? (\"--no-merges\") : ()),\n \t\t$commit_id,\n \t\t\"--\",\n \t\t($filename ? ($filename) : ())\n-- \n1.5.3.rc0.39.g46f7-dirty\n"},{"id":"46893","messageId":"20070709211839.GT29994@genesis.frugalware.org","threadId":"8923","inReplyTo":"20070708013543.GD29994@genesis.frugalware.org","subject":"Re: [PATCH] gitweb: New cgi parameter: filter","fromName":"VMiklos","fromEmail":"vmiklos@frugalware.org","sentAt":"2007-07-09T21:18:41Z","receivedAt":"2007-07-09T21:18:41Z","isPatch":true,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"Hello,\n\nNa Sun, Jul 08, 2007 at 03:35:43AM +0200, Miklos Vajna <vmiklos@frugalware.org> pisal(a):\n> Currently the only supported value is \"nomerges\". This allows one to filter\n> merges from many actions, like rss, log and shortlog.\n> \n> Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>\n\nWhat do you think about this patch? Is it something that useful only for\nme?\n\nSome Frugalware users claimed about that most git-log-like command have\na --no-merges opcion but the rss feed, that's why i added such a\nfeature.\n\nThanks,\n\n- VMiklos\n"},{"id":"47074","messageId":"f73hhc$uo1$1@sea.gmane.org","threadId":"8923","inReplyTo":"20070708013543.GD29994@genesis.frugalware.org","subject":"Re: [PATCH] gitweb: New cgi parameter: filter","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2007-07-11T21:19:41Z","receivedAt":"2007-07-11T21:19:41Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"[Cc: git@vger.kernel.org]\n\nMiklos Vajna wrote:\n\n> +               ((defined $filter and $filter == \"nomerges\") ? (\"--no-merges\") : ()),\n\nShouldn't it be '$filter eq \"nomerges\"' instead?\n\nBesides, I'd rather have generalized way to provide additional options\nto git commands, like '--no-merges' for RSS and Atom feeds, log, shortlog\nand history views, '-C' for commitdiff view, '--remove-empty' for history\nview for a file, perhaps even '-c' or '--cc' for commitdiff for merges\ninstead of abusing 'hp' argument for that.\n\nBut that doesn't mean that this patch should be not applied... it doesn't\nmean it should be applied neither ;-)\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"47092","messageId":"20070711230038.GN19386@genesis.frugalware.org","threadId":"8923","inReplyTo":"f73hhc$uo1$1@sea.gmane.org","subject":"[PATCH] gitweb: new cgi parameter: option","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2007-07-11T23:00:38Z","receivedAt":"2007-07-11T23:00:38Z","isPatch":true,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"Currently the only supported value is '--no-merges' for the 'rss', 'atom',\n'log', 'shortlog' and 'history' actions, but it can be easily extended to allow\nother parameters for other actions.\n\nSigned-off-by: Miklos Vajna <vmiklos@frugalware.org>\n---\n\nNa Wed, Jul 11, 2007 at 11:19:41PM +0200, Jakub Narebski <jnareb@gmail.com> pisal(a):\n> Miklos Vajna wrote:\n>\n> > +((defined $filter and $filter == \"nomerges\") ? (\"--no-merges\") : ()),\n>\n> Shouldn't it be '$filter eq \"nomerges\"' instead?\n\nYes, that works too (I'm not a perl addict :) )\n\n> Besides, I'd rather have generalized way to provide additional options\n> to git commands, like '--no-merges' for RSS and Atom feeds, log, shortlog\n> and history views, '-C' for commitdiff view, '--remove-empty' for history\n> view for a file, perhaps even '-c' or '--cc' for commitdiff for merges\n> instead of abusing 'hp' argument for that.\n>\n> But that doesn't mean that this patch should be not applied... it doesn't\n> mean it should be applied neither ;-)\n\nWhat about this one?\n\n gitweb/gitweb.perl |   16 ++++++++++++++++\n 1 files changed, 16 insertions(+), 0 deletions(-)\n\ndiff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\nindex dc609f4..f3530ba 100755\n--- a/gitweb/gitweb.perl\n+++ b/gitweb/gitweb.perl\n@@ -383,6 +383,20 @@ if (defined $hash_base) {\n \t}\n }\n \n+my %options = (\n+\t\"--no-merges\" => [('rss', 'atom', 'log', 'shortlog', 'history')],\n+);\n+\n+our $option = $cgi->param('option');\n+if (defined $option) {\n+\tif (not grep(/^$option$/, keys %options)) {\n+\t\tdie_error(undef, \"Invalid option parameter\");\n+\t}\n+\tif (not grep(/^$action$/, @{$options{$option}})) {\n+\t\tdie_error(undef, \"Invalid option parameter for this action\");\n+\t}\n+}\n+\n our $hash_parent_base = $cgi->param('hpb');\n if (defined $hash_parent_base) {\n \tif (!validate_refname($hash_parent_base)) {\n@@ -534,6 +548,7 @@ sub href(%) {\n \t\taction => \"a\",\n \t\tfile_name => \"f\",\n \t\tfile_parent => \"fp\",\n+\t\toption => \"option\",\n \t\thash => \"h\",\n \t\thash_parent => \"hp\",\n \t\thash_base => \"hb\",\n@@ -1770,6 +1785,7 @@ sub parse_commits {\n \t\t($arg ? ($arg) : ()),\n \t\t(\"--max-count=\" . $maxcount),\n \t\t(\"--skip=\" . $skip),\n+\t\t((defined $option) ? ($option) : ()),\n \t\t$commit_id,\n \t\t\"--\",\n \t\t($filename ? ($filename) : ())\n-- \n1.5.3.rc0.39.g46f7-dirty\n"},{"id":"47136","messageId":"200707121211.32813.jnareb@gmail.com","threadId":"8923","inReplyTo":"20070711230038.GN19386@genesis.frugalware.org","subject":"Re: [PATCH] gitweb: new cgi parameter: option","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2007-07-12T10:11:32Z","receivedAt":"2007-07-12T10:11:32Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"On Thu, 12 Jul 2007, Miklos Vajna wrote:\n> Currently the only supported value is '--no-merges' for the 'rss', 'atom',\n> 'log', 'shortlog' and 'history' actions, but it can be easily extended to allow\n> other parameters for other actions.\n>\n> Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>\n\nMicronit: it is unwritten (as of yet) requirement to word wrap commit\nmessage at 80 columns or less.\n\n> ---\n> \n> Na Wed, Jul 11, 2007 at 11:19:41PM +0200, Jakub Narebski <jnareb@gmail.com> pisal(a):\n>> Miklos Vajna wrote:\n>>\n>>> +((defined $filter and $filter == \"nomerges\") ? (\"--no-merges\") : ()),\n>>\n>> Shouldn't it be '$filter eq \"nomerges\"' instead?\n> \n> Yes, that works too (I'm not a perl addict :) )\n\nBy the way, there is t9500-gitweb-standalone-no-errors.sh test script to\ncheck if gitweb doesn't give any Perl warnings or errors. Please try to\nuse it; it should at least find errors about undefined values and such.\nBut it has the disadvantage of requiring git to be build (compiled),\neven if theoretically testing gitweb doesn't require it.\n\nYou would see something like\n\n  Argument \"nomerges\" isn't numeric in numeric eq (==)\n\nwhen running this test with --debug, I think.\n\n>> Besides, I'd rather have generalized way to provide additional options\n>> to git commands, like '--no-merges' for RSS and Atom feeds, log, shortlog\n>> and history views, '-C' for commitdiff view, '--remove-empty' for history\n>> view for a file, perhaps even '-c' or '--cc' for commitdiff for merges\n>> instead of abusing 'hp' argument for that.\n\nNow I'm not so sure about using 'option' for selecting between\ncombined ('-c') and compressed combined ('--cc') formats for commitdiff\nfor merges. The '-c' and '--cc' (or '-m') must be used with only one\ncommit-ish[*1*], so they can take place of the second commit-ish, i.e.\n'hp' (hash_parent) parameter. What do the list think about it?\n\n[*1*] At least in gitweb. If I understand correctly, you can use\n\"git diff --cc tree1 tree2 tree2 ...\" to get combined diff of specified\ntree-ish; I'm not sure if git-diff-tree support this. And I know that\ngitweb does not support this... at least for now. Would this be useful,\nI wonder?\n\n>> But that doesn't mean that this patch should be not applied... it doesn't\n>> mean it should be applied neither ;-)\n> \n> What about this one?\n\nSee comments below.\n\n\n> +my %options = (\n> +\t\"--no-merges\" => [('rss', 'atom', 'log', 'shortlog', 'history')],\n> +);\n\nFirst, you don't need inner () parentheses to delimit/create list, as\nanonymous array reference constructor [] works like it. So it could be\nwritten simply as\n\n  +my %options = (\n  +\t\"--no-merges\" => ['rss', 'atom', 'log', 'shortlog', 'history'],\n  +);\n\nSecond, instead of quoting each word by hand, we can use handy Perl\nquoting operator, qw(), i.e. 'word list' operator, like below. \nSee perlop(1), \"Quote and Quote-like Operators\" subsection\n\n  +my %options = (\n  +\t\"--no-merges\" => [ qw(rss atom log shortlog history) ],\n  +); \n\n> +our $option = $cgi->param('option');\n> +if (defined $option) {\n> +\tif (not grep(/^$option$/, keys %options)) {\n> +\t\tdie_error(undef, \"Invalid option parameter\");\n> +\t}\n> +\tif (not grep(/^$action$/, @{$options{$option}})) {\n> +\t\tdie_error(undef, \"Invalid option parameter for this action\");\n> +\t}\n> +}\n\nI'd rather make it possible to pass multiple additional options, for\nexample both '--remove-empty' (to speed up) and '--no-merges' for the\nhistory view. So I'd use\n\n  +our @options = $cgi->param('option');\n\ninstead. This would make option validation bit harder, but I think not that\nharder. But it would also make using extra options easier: just @options\ninstead of (defined $option ? $option : ()).\n\nI'd also use @extra_options, or @act_opts instead of @options as\na variable name to be more descriptive.\n\nI'm also not sure if invalid option parameter for action should return\nerror, or be simply ignored. This allow to hand-edit URL, changing for\nexample action from 'commitdiff' to 'commit', not worrying about spurious\nparameters.\n\nBy the way, gitweb uses shortened names for paramaters. Perhaps 'opt'\nor 'op' instead of 'options' here and in href subroutine (below)?\n\n> @@ -534,6 +548,7 @@ sub href(%) {\n[...]\n> +\t\toption => \"option\",\n\n\n> @@ -1770,6 +1785,7 @@ sub parse_commits {\n>  \t\t($arg ? ($arg) : ()),\n>  \t\t(\"--max-count=\" . $maxcount),\n>  \t\t(\"--skip=\" . $skip),\n> +\t\t((defined $option) ? ($option) : ()),\n>  \t\t$commit_id,\n>  \t\t\"--\",\n>  \t\t($filename ? ($filename) : ())\n\nVery clever to put this in parse_commits subroutine...\n\n-- \nJakub Narebski\nPoland\n"},{"id":"47141","messageId":"Pine.LNX.4.64.0707121248530.4516@racer.site","threadId":"8923","inReplyTo":"200707121211.32813.jnareb@gmail.com","subject":"Re: [PATCH] gitweb: new cgi parameter: option","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-07-12T11:49:44Z","receivedAt":"2007-07-12T11:49:44Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 12 Jul 2007, Jakub Narebski wrote:\n\n> On Thu, 12 Jul 2007, Miklos Vajna wrote:\n> > Currently the only supported value is '--no-merges' for the 'rss', 'atom',\n> > 'log', 'shortlog' and 'history' actions, but it can be easily extended to allow\n> > other parameters for other actions.\n> >\n> > Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>\n> \n> Micronit: it is unwritten (as of yet) requirement to word wrap commit\n> message at 80 columns or less.\n\nIt's not really difficult:\n\n- snipsnap -\n[PATCH] SubmittingPatches: mention line wrap\n\nSigned-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>\n\n---\n\n Documentation/SubmittingPatches |    2 ++\n 1 files changed, 2 insertions(+), 0 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 01354c2..066e284 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -9,6 +9,8 @@ Checklist (and a short version for the impatient):\n \t- provide a meaningful commit message\n \t- the first line of the commit message should be a short\n \t  description and should skip the full stop\n+\t- please use no lines longer than 76 characters, since you\n+\t  want to send this message as email\n \t- if you want your work included in git.git, add a\n \t  \"Signed-off-by: Your Name <your@email.com>\" line to the\n \t  commit message (or just use the option \"-s\" when\n"},{"id":"47187","messageId":"20070712183927.GS19386@genesis.frugalware.org","threadId":"8923","inReplyTo":"200707121211.32813.jnareb@gmail.com","subject":"[PATCH] gitweb: new cgi parameter: opt","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2007-07-12T18:39:27Z","receivedAt":"2007-07-12T18:39:27Z","isPatch":true,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"Currently the only supported value is '--no-merges' for the 'rss', 'atom',\n'log', 'shortlog' and 'history' actions, but it can be easily extended to allow\nother parameters for other actions.\n\nSigned-off-by: Miklos Vajna <vmiklos@frugalware.org>\n---\n\nHello,\n\nNa Thu, Jul 12, 2007 at 12:11:32PM +0200, Jakub Narebski <jnareb@gmail.com> pisal(a):\n> 'log', 'shortlog' and 'history' actions, but it can be easily extended to allow\n> Micronit: it is unwritten (as of yet) requirement to word wrap commit\n> message at 80 columns or less.\n\nOK, though I think 79 is valid for \"80 or less\" :-)\n\n> By the way, there is t9500-gitweb-standalone-no-errors.sh test script to\n> check if gitweb doesn't give any Perl warnings or errors. Please try to\n> use it; it should at least find errors about undefined values and such.\n> But it has the disadvantage of requiring git to be build (compiled),\n> even if theoretically testing gitweb doesn't require it.\n>\n> You would see something like\n>\n>   Argument \"nomerges\" isn't numeric in numeric eq (==)\n>\n> when running this test with --debug, I think.\n\nAs far as i see the test passes without any such warning ATM.\n\n> First, you don't need inner () parentheses to delimit/create list, as\n> anonymous array reference constructor [] works like it. So it could be\n> written simply as\n>\n>   +my %options = (\n>   +   \"--no-merges\" => ['rss', 'atom', 'log', 'shortlog', 'history'],\n>   +);\n>\n> Second, instead of quoting each word by hand, we can use handy Perl\n> quoting operator, qw(), i.e. 'word list' operator, like below.\n> See perlop(1), \"Quote and Quote-like Operators\" subsection\n>\n>   +my %options = (\n>   +   \"--no-merges\" => [ qw(rss atom log shortlog history) ],\n>   +);\n\nFixed.\n\n> history view. So I'd use\n>\n>   +our @options = $cgi->param('option');\n>\n> instead. This would make option validation bit harder, but I think not that\n> harder. But it would also make using extra options easier: just @options\n> instead of (defined $option ? $option : ()).\n\nDone.\n\n> I'd also use @extra_options, or @act_opts instead of @options as\n> a variable name to be more descriptive.\n\nChanged. Also renamed %options to %allowed_options.\n\n> I'm also not sure if invalid option parameter for action should return\n> error, or be simply ignored. This allow to hand-edit URL, changing for\n> example action from 'commitdiff' to 'commit', not worrying about spurious\n> parameters.\n\nI did this way because gitweb also dies for invalid actions but it can\nbe removed if you don't like it.\n\n> By the way, gitweb uses shortened names for paramaters. Perhaps 'opt'\n> or 'op' instead of 'options' here and in href subroutine (below)?\n\nChanged to 'opt'.\n\n gitweb/gitweb.perl |   19 +++++++++++++++++++\n 1 files changed, 19 insertions(+), 0 deletions(-)\n\ndiff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\nindex 27580b5..13134fe 100755\n--- a/gitweb/gitweb.perl\n+++ b/gitweb/gitweb.perl\n@@ -386,6 +386,23 @@ if (defined $hash_base) {\n \t}\n }\n \n+my %allowed_options = (\n+\t\"--no-merges\" => [ qw(rss atom log shortlog history) ],\n+);\n+\n+our @extra_options = $cgi->param('opt');\n+if (defined @extra_options) {\n+\tforeach(@extra_options)\n+\t{\n+\t\tif (not grep(/^$_$/, keys %allowed_options)) {\n+\t\t\tdie_error(undef, \"Invalid option parameter\");\n+\t\t}\n+\t\tif (not grep(/^$action$/, @{$allowed_options{$_}})) {\n+\t\t\tdie_error(undef, \"Invalid option parameter for this action\");\n+\t\t}\n+\t}\n+}\n+\n our $hash_parent_base = $cgi->param('hpb');\n if (defined $hash_parent_base) {\n \tif (!validate_refname($hash_parent_base)) {\n@@ -537,6 +554,7 @@ sub href(%) {\n \t\taction => \"a\",\n \t\tfile_name => \"f\",\n \t\tfile_parent => \"fp\",\n+\t\textra_options => \"opt\",\n \t\thash => \"h\",\n \t\thash_parent => \"hp\",\n \t\thash_base => \"hb\",\n@@ -1773,6 +1791,7 @@ sub parse_commits {\n \t\t($arg ? ($arg) : ()),\n \t\t(\"--max-count=\" . $maxcount),\n \t\t(\"--skip=\" . $skip),\n+\t\t@extra_options,\n \t\t$commit_id,\n \t\t\"--\",\n \t\t($filename ? ($filename) : ())\n-- \n1.5.3.rc0.39.g46f7-dirty\n"},{"id":"47188","messageId":"7vy7hltq98.fsf@assigned-by-dhcp.cox.net","threadId":"8923","inReplyTo":"200707121211.32813.jnareb@gmail.com","subject":"Re: [PATCH] gitweb: new cgi parameter: option","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-07-12T18:45:39Z","receivedAt":"2007-07-12T18:45:39Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jakub Narebski <jnareb@gmail.com> writes:\n\n> [*1*] At least in gitweb. If I understand correctly, you can use\n> \"git diff --cc tree1 tree2 tree2 ...\" to get combined diff of specified\n> tree-ish; I'm not sure if git-diff-tree support this. And I know that\n> gitweb does not support this... at least for now. Would this be useful,\n> I wonder?\n\nI would say that would only be useful to satisfy curiosity.\nLuckily or unluckily I have not had real life use of that\nmultiple tree comparison feature that is supported by \"git\ndiff\" (multiple blob comparison is also available, which is\nmildly useful).\n\n>> +our $option = $cgi->param('option');\n>> +if (defined $option) {\n>> +\tif (not grep(/^$option$/, keys %options)) {\n>> +\t\tdie_error(undef, \"Invalid option parameter\");\n>> +\t}\n\n\"!exists $options{$option}\" ?\n\n> I'd rather make it possible to pass multiple additional options, for\n> example both '--remove-empty' (to speed up) and '--no-merges' for the\n> history view. So I'd use\n>\n>   +our @options = $cgi->param('option');\n>\n> instead.\n\nGood point.\n\n> I'm also not sure if invalid option parameter for action should return\n> error, or be simply ignored.\n\nI'm mildly against \"simply ignoring\".\n\n> By the way, gitweb uses shortened names for paramaters. Perhaps 'opt'\n> or 'op' instead of 'options' here and in href subroutine (below)?\n\nOr even 'o' ;-).\n"},{"id":"47218","messageId":"200707130203.17778.jnareb@gmail.com","threadId":"8923","inReplyTo":"7vy7hltq98.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] gitweb: new cgi parameter: option","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2007-07-13T00:03:17Z","receivedAt":"2007-07-13T00:03:17Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Junio C Hamano wrote:\n> Jakub Narebski <jnareb@gmail.com> writes:\n\n>> By the way, gitweb uses shortened names for paramaters. Perhaps 'opt'\n>> or 'op' instead of 'options' here and in href subroutine (below)?\n> \n> Or even 'o' ;-).\n\n'o' is used for 'order'/'ordering', to sort tables for some actions.\n-- \nJakub Narebski\nPoland\n"}]}