"John 'Warthog9' Hawley" <warthog9@xxxxxxxxxx> writes: > This is an attempt to break out the default values & associated > documentation from the main gitweb file so that it's easier to > browse / read and understand without the associated code involved. > > This helps by making defaults self contained with their documentation > making it easier for someone to read through things and find what > they want > > This is also a not-so-subtle start of trying to break up gitweb into > separate files for easier maintainability, having everything in a > single file is just a mess and makes the whole thing more complicated > than it needs to be. This is a bit of a baby step towards breaking it > up for easier maintenance. The question is if easier maintenance and development by spliting gitweb for developers offsets ease of install for users. > Signed-off-by: John 'Warthog9' Hawley <warthog9@xxxxxxxxxxxxxx> Signoff mismatch. > --- > .gitignore | 1 + > Makefile | 15 +- > gitweb/Makefile | 2 +- > gitweb/gitweb.perl | 515 +++++-------------------------------------- > gitweb/gitweb_defaults.perl | 468 +++++++++++++++++++++++++++++++++++++++ > 5 files changed, 537 insertions(+), 464 deletions(-) > create mode 100644 gitweb/gitweb_defaults.perl > > > diff --git a/.gitignore b/.gitignore > index ac02a58..5e48102 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -151,6 +151,7 @@ > /git-core-*/?* > /gitk-git/gitk-wish > /gitweb/gitweb.cgi > +/gitweb/gitweb_defaults.pl Hmmm... gitweb/gitweb_defaults.perl as source file, and gitweb/gitweb_defaults.pl as generated file? Wouldn't it be better to go with the convention used elsewhere in gitweb and use gitweb/gitweb_defaults.perl.in or gitweb/gitweb_defaults.pl.in as source file? > /test-chmtime > /test-ctype > /test-date > diff --git a/Makefile b/Makefile > index 8db9d01..2c5f139 100644 > --- a/Makefile > +++ b/Makefile > @@ -1510,14 +1510,16 @@ $(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl > mv $@+ $@ > > .PHONY: gitweb > -gitweb: gitweb/gitweb.cgi > +gitweb: gitweb/gitweb.cgi gitweb/gitweb_defaults.pl > ifdef JSMIN > -OTHER_PROGRAMS += gitweb/gitweb.cgi gitweb/gitweb.min.js > -gitweb/gitweb.cgi: gitweb/gitweb.perl gitweb/gitweb.min.js > +OTHER_PROGRAMS += gitweb/gitweb.cgi gitweb/gitweb.min.js gitweb/gitweb_defaults.pl > +gitweb/gitweb.cgi gitweb/gitweb_defaults.pl: gitweb/gitweb.perl gitweb/gitweb.min.js gitweb/gitweb_defaults.perl > else > -OTHER_PROGRAMS += gitweb/gitweb.cgi > -gitweb/gitweb.cgi: gitweb/gitweb.perl > +OTHER_PROGRAMS += gitweb/gitweb.cgi gitweb/gitweb_defaults.pl > +gitweb/gitweb.cgi: gitweb/gitweb_defaults.pl > +gitweb/gitweb.cgi gitweb/gitweb_defaults.pl: gitweb/gitweb.perl gitweb/gitweb_defaults.perl > endif > + #$(QUIET_GEN)$(RM) $@ $@+ && What this line is about? > $(QUIET_GEN)$(RM) $@ $@+ && \ > sed -e '1s|#!.*perl|#!$(PERL_PATH_SQ)|' \ > -e 's|++GIT_VERSION++|$(GIT_VERSION)|g' \ > @@ -1539,7 +1541,7 @@ endif > -e 's|++GITWEB_JS++|$(GITWEB_JS)|g' \ > -e 's|++GITWEB_SITE_HEADER++|$(GITWEB_SITE_HEADER)|g' \ > -e 's|++GITWEB_SITE_FOOTER++|$(GITWEB_SITE_FOOTER)|g' \ > - $(patsubst %.cgi,%.perl,$@) >$@+ && \ > + $(patsubst %.cgi,%.perl,$(patsubst %.pl, %.perl, $@)) >$@+ && \ Why the slightly inconsistent style ("%.cgi,%perl" vs "%.pl, %perl")? Also wouldn't all replacements be in the new gitweb_defaults file, so there would be no need then to do replacements for gitweb.cgi? Oh, I see there is at least one that stayed in gitweb.perl: $version > chmod +x $@+ && \ > mv $@+ $@ > > @@ -1913,6 +1915,7 @@ clean: > $(MAKE) -C Documentation/ clean > ifndef NO_PERL > $(RM) gitweb/gitweb.cgi > + $(RM) gitweb/gitweb_defaults.pl > $(MAKE) -C perl clean > endif > $(MAKE) -C templates/ clean > diff --git a/gitweb/Makefile b/gitweb/Makefile > index 8d318b3..2bd421a 100644 > --- a/gitweb/Makefile > +++ b/gitweb/Makefile > @@ -1,6 +1,6 @@ > SHELL = /bin/bash > > -FILES = gitweb.cgi > +FILES = gitweb.cgi gitweb_defaults.pl > > .PHONY: $(FILES) > > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl > index 3b44371..fd41539 100755 > --- a/gitweb/gitweb.perl > +++ b/gitweb/gitweb.perl > @@ -36,466 +36,67 @@ our $version = "++GIT_VERSION++"; > our $my_url = $cgi->url(); > our $my_uri = $cgi->url(-absolute => 1); > [cut deletion] > +# Define and than setup our configuration > +# > +our( > + $VERSION, > + $path_info, > + $GIT, > + $projectroot, > + $project_maxdepth, > + $home_link, > + $home_link_str, > + $site_name, > + $site_header, > + $home_text, > + $site_footer, > + @stylesheets, > + $stylesheet, > + $logo, > + $favicon, > + $javascript, > + $logo_url, > + $logo_label, > + $projects_list, > + $projects_list_description_width, > + $default_projects_order, > + $export_ok, > + $export_auth_hook, > + $strict_export, > + @git_base_url_list, > + $default_blob_plain_mimetype, > + $default_text_plain_charset, > + $mimetypes_file, > + $missmatch_git, > + $gitlinkurl, > + $maxload, > + $cache_enable, > + $minCacheTime, > + $maxCacheTime, > + $cachedir, > + $backgroundCache, > + $nocachedata, > + $nocachedatabin, > + $fullhashpath, > + $fullhashbinpath, > + $export_auth_hook, > + %known_snapshot_format_aliases, > + %known_snapshot_formats, > + $path_info, > + $fallback_encoding, > + %avatar_size, > + $project_maxdepth, > + $headerRefresh, > + $base_url, > + $projects_list_description_width, > + $default_projects_order, > + $prevent_xss, > + @diff_opts, > + %feature > ); Why this block is required? Why not have variables defined (using "our") in gitweb_defaults file? [cut deletion] > +do 'gitweb_defaults.pl'; > > sub gitweb_get_feature { > my ($name) = @_; > diff --git a/gitweb/gitweb_defaults.perl b/gitweb/gitweb_defaults.perl > new file mode 100644 > index 0000000..ede0daf > --- /dev/null > +++ b/gitweb/gitweb_defaults.perl > @@ -0,0 +1,468 @@ > +# gitweb - simple web interface to track changes in git repositories > +# > +# (C) 2005-2006, Kay Sievers <kay.sievers@xxxxxxxx> > +# (C) 2005, Christian Gierke > +# > +# This program is licensed under the GPLv2 > + > +# Base URL for relative URLs in gitweb ($logo, $favicon, ...), > +# needed and used only for URLs with nonempty PATH_INFO > +$base_url = $my_url; Why not "our $base_url = $my_url;"? [cut] > +1; -- Jakub Narebski Poland ShadeHawk on #git -- 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