gitweb: new cgi parameter: opt
Currently the only supported value is '--no-merges' for the 'rss', 'atom', 'log', 'shortlog' and 'history' actions, but it can be easily extended to allow other parameters for other actions. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
248c648a0d
commit
868bc068bb
@ -386,6 +386,23 @@ if (defined $hash_base) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my %allowed_options = (
|
||||||
|
"--no-merges" => [ qw(rss atom log shortlog history) ],
|
||||||
|
);
|
||||||
|
|
||||||
|
our @extra_options = $cgi->param('opt');
|
||||||
|
if (defined @extra_options) {
|
||||||
|
foreach(@extra_options)
|
||||||
|
{
|
||||||
|
if (not grep(/^$_$/, keys %allowed_options)) {
|
||||||
|
die_error(undef, "Invalid option parameter");
|
||||||
|
}
|
||||||
|
if (not grep(/^$action$/, @{$allowed_options{$_}})) {
|
||||||
|
die_error(undef, "Invalid option parameter for this action");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
our $hash_parent_base = $cgi->param('hpb');
|
our $hash_parent_base = $cgi->param('hpb');
|
||||||
if (defined $hash_parent_base) {
|
if (defined $hash_parent_base) {
|
||||||
if (!validate_refname($hash_parent_base)) {
|
if (!validate_refname($hash_parent_base)) {
|
||||||
@ -537,6 +554,7 @@ sub href(%) {
|
|||||||
action => "a",
|
action => "a",
|
||||||
file_name => "f",
|
file_name => "f",
|
||||||
file_parent => "fp",
|
file_parent => "fp",
|
||||||
|
extra_options => "opt",
|
||||||
hash => "h",
|
hash => "h",
|
||||||
hash_parent => "hp",
|
hash_parent => "hp",
|
||||||
hash_base => "hb",
|
hash_base => "hb",
|
||||||
@ -1773,6 +1791,7 @@ sub parse_commits {
|
|||||||
($arg ? ($arg) : ()),
|
($arg ? ($arg) : ()),
|
||||||
("--max-count=" . $maxcount),
|
("--max-count=" . $maxcount),
|
||||||
("--skip=" . $skip),
|
("--skip=" . $skip),
|
||||||
|
@extra_options,
|
||||||
$commit_id,
|
$commit_id,
|
||||||
"--",
|
"--",
|
||||||
($filename ? ($filename) : ())
|
($filename ? ($filename) : ())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user