This series is composed of two independent parts: improvements to content tags (ctags) handling in patches 2-3, and introducing optional grouping of projects by categories in patches 4-6 (where 4-5 are preparatory). Both of those series are based on 1st patch in series which restructures how projects list is being generated, to make those changes easy to introduce. Because both of those depend on the same introductory patch they are put in single series... that and the fact that there was trivial conflict to be resolved in rebasing 'project category' part on top of 'ctags' part. Table of contents: ~~~~~~~~~~~~~~~~~~ * [PATCH 1/6 (v2)] gitweb: Restructure projects list generation This patch extracts filtering out "forks" and searching for projects (i.e. limiting listed projects) into separate subroutines. Also filtering is done upfront and not while printing. This makes for more clear code and makes subsequent changes much easier. Filtering forks is now faster thanks to using trie; see comments in code and in the patch itself. * [PATCH 2/6] gitweb: Change the way "content tags" ('ctags') are handled Making ctags info parsing more robust sort of fixes bug noticed in gitweb: cloud tags feature produces malformed XML for errors http://thread.gmane.org/gmane.linux.debian.devel.bugs.general/802865/focus=168266 http://bugs.debian.org/616005 caused by myshandling underdocumented then 'ctags' feature. This patch DOES NOT however resolve deeper fundamental problem with error / exception handling in gitweb after some data was already sent to a browser. It also removes gitweb half of interface for adding content tags (labels) to a project; it was quarter of feature at best (there is/was no example implementation of server side half of adding content tags, no way to delete or fix content tags). * [PATCH 3/6] gitweb: Mark matched 'ctag' / contents tag (?by_tag=foo) This is simple improvement, done while working on 'ctags' feature. * [PATCH 4/6] gitweb: Split git_project_list_body in two functions [PATCH 5/6] gitweb: Modularized git_get_project_description to be more generic Those two patches are refactoring preparing way for project categories (for the next patch). * [PATCH 6/6] gitweb: Optional grouping of projects by category Port of Sebastien Cevey port of Sham Chukoury's patch for the XMMS2 gitweb to modern gitweb. Shortlog: ~~~~~~~~~ Jakub Narebski (3): gitweb: Restructure projects list generation gitweb: Change the way "content tags" ('ctags') are handled gitweb: Mark matched 'ctag' / contents tag (?by_tag=foo) Sebastien Cevey (3): gitweb: Split git_project_list_body in two functions gitweb: Modularized git_get_project_description to be more generic gitweb: Optional grouping of projects by category Diffstat: ~~~~~~~~~ gitweb/README | 16 + gitweb/gitweb.perl | 546 ++++++++++++++++++++--------- gitweb/static/gitweb.css | 7 + t/t9500-gitweb-standalone-no-errors.sh | 57 +++ t/t9502-gitweb-standalone-parse-output.sh | 74 ++++ 5 files changed, 542 insertions(+), 158 deletions(-) -- 1.7.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html