{"shas":[["891b427428c50e418d926f5ea0e22f8bcc26ffa8","a6a1517a087f9f64a72f41a0de57ff01fbb0e412@gmail.com","gitweb: Prepare for splitting gitweb\n\nPrepare gitweb for being split into modules that would be installed\nin gitweblibdir, by default alongside gitweb in 'lib/' subdirectory.\nGitweb would search first in 'lib/' subdirectory from where it is\ninstalled, via\n\n  use lib __DIR__.'/lib';\n\n(This allow for tests to work with source version of gitweb without\nchanges.)  Then it searches in $(gitweblibdir) directory (set during\nbuild time), by default \"$(gitwebdir)/lib\", via\n\n  use lib \"++GITWEBLIBDIR++\";\n\nwhich is set to requested dir during building of gitweb.cgi.  Note\nthat 'use lib' assures no trailing duplicate entries in @INC.\n\n\nThis preparatory work allows to add new module to gitweb by simply\nadding\n\n  GITWEB_MODULES += <module>\n\nto gitweb/Makefile (assuming that the module is in 'gitweb/lib/'\ndirectory).\n\nWhile at it pass GITWEBLIBDIR in addition to GITWEB_TEST_INSTALLED to\nallow testing installed version of gitweb and installed version of\nmodules (for future tests which would check individual (sub)modules).\n\n\nAt Pavan Kumar Sankara suggestion gitweb/Makefile uses\n\n  install [OPTION]... SOURCE... DIRECTORY\n\nformat (2nd format) with single SOURCE rather than\n\n  install [OPTION]... SOURCE DEST\n\nformat (1st format) because of security reasons (race conditions).\nModern GNU install has `-T' / `--no-target-directory' option, but we\ncannot rely that the $(INSTALL) we are using supports this option.\n\nThe install-modules target in gitweb/Makefile uses shell 'for' loop,\ninstead of make's $(foreach) function, to avoid possible problem with\ngenerating a command line that exceeded the maximum argument list\nlength.\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>","Jakub Narebski"],["acbe29a2a385ad335f0f42a61bd10566e091825a","1b5e356bb84465e3deee937143bf6a83a050649c@gmail.com","gitweb: Create Gitweb::Util module\n\nCreate a Gitweb::Util module, which is meant to contain internal\nutilities used by gitweb.  Currently it includes all the\nquoting/unquoting and escaping subroutines that are used by the\ngitweb.\n\nUpdate gitweb/Makefile to install Gitweb::Util module alongside gitweb\n\nThis was sort of part of [unfinished] Google Summer of Code 2010\nproject \"Splitting gitweb and developing write functionalities\n(Integrated web client for git)\" by Pavan Kumar Sunkara, mentored by\nChristian Couder and co-mentored by Petr Baudis.\n\nSigned-off-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>","Pavan Kumar Sunkara"]],"ref":"refs/heads/gitweb/split","size":2,"head":"acbe29a2a385ad335f0f42a61bd10566e091825a","push_id":34247409}