From: Pavan Kumar Sunkara Date: Wed, 24 Aug 2011 02:17:03 GMT Subject: Re: [PATCHv2 0/2] gitweb: Beginnings of splitting gitweb into modules Message-ID: In-Reply-To: <4E54102D.8060900@eaglescrag.net> I can try to restart it. I had a lot of health issues last year, But I am free now to finish this series. On Wed, Aug 24, 2011 at 2:10 AM, J.H. wrote: > Pretty much stalled like most things on gitweb.  I've been knee deep in > a lot of GSoC stuff, conferences and dealing with kernel bugs and Jakub > has been busy on other things so we haven't had a solid head bashing > session to get this all worked out yet. > > Maybe while I'm over in Prague / Europe for KS & Linuxcon we can hash > things out. > > - John 'Warthog9' Hawley > > On 08/23/2011 01:35 PM, Sylvain Rabot wrote: >> Hi, >> >> Just wanted to know what is the current status of splitting gitweb >> sources into modules. >> >> Regards. >> >> On Tue, 2011-05-03 at 16:04 +0200, Jakub Narebski wrote: >>> Gitweb is currently next to largest file (after gitk) in git sources, >>> more than 225KB with more than 7,000 lines.  Therefore adding any >>> large feature that would require large amount of code added, like >>> gitweb caching by J.H. and my rewrite of it, or "gitweb admin/write" >>> [failed] GSoC 2010 project by Pavan Kumar Sunkara, would require for >>> new code to be added as a separate module.  Otherwise gitweb would >>> fast become unmaintainable. >>> >>> Note that there is already patch series sent which as one of side >>> effects splits the JavaScript side of gitweb into many smaller >>> self-contained files: >>> >>>   [PATCH 03/13] gitweb: Split JavaScript for maintability, combining on build >>>   http://thread.gmane.org/gmane.comp.version-control.git/172384/focus=172385 >>> >>> Not in all cases splitting gitweb upfront would be required.  At least >>> in the case of gitweb caching it doesn't.  What must be done however >>> is preparing the infrastructure for modular gitweb sources; to >>> properly test such infrastructure we need at least one split gitweb >>> module.  With patch series preparing for splitting or true splitting of >>> gitweb sent upfront the future patch series that implements >>> code-extensive feature (like e.g. output caching) would be smaller and >>> easier to review. >>> >>> >>> This series is intended to bring such infrastructure to gitweb, to >>> prepare way for adding output caching to gitweb. Alternatively it can >>> be thought as beginning of splitting gitweb into smaller submodules, >>> for better maintainability. >>> >>> This patch series was sent to git mailing list as >>> >>>   [PATCH 0/2] gitweb: Begin splitting gitweb >>>   http://thread.gmane.org/gmane.comp.version-control.git/165824 >>> >>> In the above mentioned first version of this series, the first patch >>> that prepared the way for splitting gitweb was in three versions: A, B >>> and C.  In this second version of this series the first patch in >>> series most closely resembles version C in v1 series. >>> >>> In this version gitweb uses _both_ 'use lib __DIR__."/lib";' and >>> 'use lib "++GITWEBLIBDIR++";', in correct order (as compared to >>> version C of v1 series), so that __DIR__."/lib" is checked first, >>> i.e. modules installed alongside gitweb.cgi win. >>> >>> Pull request: >>> ~~~~~~~~~~~~~ >>> This series is available in the git repository at: >>>   git://repo.or.cz/git/jnareb-git.git gitweb/split >>>   git://github.com/jnareb/git.git gitweb/split >>> >>> Well, those patches has a few minor cosmetic fixups... >>> >>> Table of contents: >>> ~~~~~~~~~~~~~~~~~~ >>> * [PATCHv2 1/2] gitweb: Prepare for splitting gitweb >>>   [PATCHv2 2/2] gitweb: Create Gitweb::Util module >>> >>>   First patch implements infrastructure, second proof of concept patch uses >>>   this infrastructure, testing it ("make -C gitweb test-installed"). >>> >>> Shortlog: >>> ~~~~~~~~~ >>> Jakub Narebski (1): >>>   gitweb: Prepare for splitting gitweb >>> >>> Pavan Kumar Sunkara (1): >>>   gitweb: Create Gitweb::Util module >>> >>> Diffstat: >>> ~~~~~~~~~ >>>  gitweb/INSTALL            |    7 ++ >>>  gitweb/Makefile           |   23 ++++++- >>>  gitweb/gitweb.perl        |  151 ++++----------------------------------- >>>  gitweb/lib/Gitweb/Util.pm |  177 +++++++++++++++++++++++++++++++++++++++++++++ >>>  4 files changed, 219 insertions(+), 139 deletions(-) >>>  create mode 100755 gitweb/lib/Gitweb/Util.pm >>> >> > > -- - Pavan Kumar Sunkara