git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv2 0/2] gitweb: Beginnings of splitting gitweb into modules
@ 2011-05-03 14:04 Jakub Narebski
  2011-05-03 14:04 ` [PATCHv2 1/2 (RFC?)] gitweb: Prepare for splitting gitweb Jakub Narebski
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Jakub Narebski @ 2011-05-03 14:04 UTC (permalink / raw)
  To: git
  Cc: John 'Warthog9' Hawley, John 'Warthog9' Hawley,
	Petr Baudis, Pavan Kumar Sunkara, Alejandro R. Sedeno,
	Jakub Narebski

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

-- 
1.7.3

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-08-24  2:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-03 14:04 [PATCHv2 0/2] gitweb: Beginnings of splitting gitweb into modules Jakub Narebski
2011-05-03 14:04 ` [PATCHv2 1/2 (RFC?)] gitweb: Prepare for splitting gitweb Jakub Narebski
2011-05-03 14:04 ` [PATCHv2 2/2 (PoC)] gitweb: Create Gitweb::Util module Jakub Narebski
2011-08-23 20:35 ` [PATCHv2 0/2] gitweb: Beginnings of splitting gitweb into modules Sylvain Rabot
2011-08-23 20:40   ` J.H.
2011-08-24  2:17     ` Pavan Kumar Sunkara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).