Skip to content

Commit b06dcf8

Browse files
flichtenheldJunio C Hamano
authored andcommitted
gitweb: Allow configuring the default projects order and add order 'none'
Introduce new configuration variable $default_projects_order that can be used to specify the default order of projects on the index page if no 'o' parameter is given. Allow a new value 'none' for order that will cause the projects to be in the order we learned about them. In case of reading the list of projects from a file, this should be the order as they are listed in the file. In case of reading the list of projects from a directory this will probably give random results depending on the filesystem in use. Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Acked-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent c2b8b13 commit b06dcf8

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

gitweb/gitweb.perl

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@ BEGIN
7171
# source of projects list
7272
our $projects_list = "++GITWEB_LIST++";
7373

74+
# default order of projects list
75+
# valid values are none, project, descr, owner, and age
76+
our $default_projects_order = "project";
77+
7478
# show repository only if this file exists
7579
# (only effective if this variable evaluates to true)
7680
our $export_ok = "++GITWEB_EXPORT_OK++";
@@ -1131,7 +1135,6 @@ sub git_get_projects_list {
11311135
}
11321136
close $fd;
11331137
}
1134-
@list = sort {$a->{'path'} cmp $b->{'path'}} @list;
11351138
return @list;
11361139
}
11371140

@@ -2618,7 +2621,7 @@ sub git_project_list_body {
26182621
push @projects, $pr;
26192622
}
26202623

2621-
$order ||= "project";
2624+
$order ||= $default_projects_order;
26222625
$from = 0 unless defined $from;
26232626
$to = $#projects if (!defined $to || $#projects < $to);
26242627

@@ -2977,7 +2980,7 @@ sub git_search_grep_body {
29772980

29782981
sub git_project_list {
29792982
my $order = $cgi->param('o');
2980-
if (defined $order && $order !~ m/project|descr|owner|age/) {
2983+
if (defined $order && $order !~ m/none|project|descr|owner|age/) {
29812984
die_error(undef, "Unknown order parameter");
29822985
}
29832986

@@ -3000,7 +3003,7 @@ sub git_project_list {
30003003

30013004
sub git_forks {
30023005
my $order = $cgi->param('o');
3003-
if (defined $order && $order !~ m/project|descr|owner|age/) {
3006+
if (defined $order && $order !~ m/none|project|descr|owner|age/) {
30043007
die_error(undef, "Unknown order parameter");
30053008
}
30063009

0 commit comments

Comments
 (0)