From: Jakub Narebski <jnareb@gmail.com>
To: "John 'Warthog9' Hawley" <warthog9@kernel.org>
Cc: git@vger.kernel.org, "John 'Warthog9' Hawley" <warthog9@eaglescrag.net>
Subject: Re: [PATCH 6/6] GITWEB - Separate defaults from main file
Date: Fri, 11 Dec 2009 07:46:23 -0800 (PST) [thread overview]
Message-ID: <m3ljh9cy3b.fsf@localhost.localdomain> (raw)
In-Reply-To: <1260488743-25855-7-git-send-email-warthog9@kernel.org>
"John 'Warthog9' Hawley" <warthog9@kernel.org> 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@eaglescrag.net>
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@vrfy.org>
> +# (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
next prev parent reply other threads:[~2009-12-11 15:46 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-10 23:45 [PATCH 0/6] Gitweb caching changes v2 John 'Warthog9' Hawley
2009-12-10 23:45 ` [PATCH 1/6] GITWEB - Load Checking John 'Warthog9' Hawley
2009-12-10 23:45 ` [PATCH 2/6] GITWEB - Missmatching git w/ gitweb John 'Warthog9' Hawley
2009-12-10 23:45 ` [PATCH 3/6] GITWEB - Add git:// link to summary pages John 'Warthog9' Hawley
2009-12-10 23:45 ` [PATCH 4/6] GITWEB - Makefile changes John 'Warthog9' Hawley
[not found] ` <1260488743-25855-6-git-send-email-warthog9@kernel.org>
2009-12-10 23:45 ` [PATCH 6/6] GITWEB - Separate defaults from main file John 'Warthog9' Hawley
2009-12-11 15:46 ` Jakub Narebski [this message]
2009-12-11 15:58 ` J.H.
2009-12-11 22:53 ` Jakub Narebski
2009-12-16 1:22 ` Junio C Hamano
2009-12-16 2:00 ` J.H.
2009-12-16 19:52 ` Jakub Narebski
2009-12-16 20:04 ` J.H.
2009-12-16 2:22 ` Jakub Narebski
2009-12-11 14:28 ` [PATCH 4/6] GITWEB - Makefile changes Jakub Narebski
2009-12-11 16:22 ` J.H.
2009-12-11 16:41 ` Jakub Narebski
2009-12-19 13:32 ` [PATCH/RFCv2 4/6] gitweb: Makefile improvements Jakub Narebski
2009-12-11 12:52 ` [PATCH 3/6] GITWEB - Add git:// link to summary pages Johannes Schindelin
2009-12-11 13:44 ` Jakub Narebski
2009-12-18 21:02 ` [PATCHv2 3/6] gitweb: Optionally add "git" links in project list page Jakub Narebski
2009-12-11 10:52 ` [PATCH 2/6] GITWEB - Missmatching git w/ gitweb Jakub Narebski
2009-12-18 19:18 ` [RFC/PATCHv2 2/6] gitweb: Add option to force version match Jakub Narebski
2009-12-11 12:49 ` [PATCH 2/6] GITWEB - Missmatching git w/ gitweb Johannes Schindelin
2009-12-10 23:54 ` [PATCH 1/6] GITWEB - Load Checking Sverre Rabbelier
2009-12-11 0:52 ` Jakub Narebski
2009-12-11 1:10 ` Junio C Hamano
2009-12-11 2:19 ` J.H.
2009-12-11 2:50 ` Junio C Hamano
2009-12-11 2:58 ` J.H.
2009-12-11 3:07 ` J.H.
2009-12-11 3:09 ` Junio C Hamano
2009-12-11 10:09 ` Jakub Narebski
2009-12-18 16:36 ` [PATCHv2 1/6] gitweb: Load checking Jakub Narebski
2009-12-11 13:53 ` [PATCH 1/6] GITWEB - Load Checking Mihamina Rakotomandimby
2009-12-10 23:53 ` [PATCH 0/6] Gitweb caching changes v2 Sverre Rabbelier
2009-12-11 15:51 ` Jakub Narebski
[not found] ` <4B226D56.7000004@kernel.org>
2009-12-11 18:01 ` Jakub Narebski
2009-12-11 18:26 ` J.H.
2009-12-12 1:37 ` Jakub Narebski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3ljh9cy3b.fsf@localhost.localdomain \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
--cc=warthog9@eaglescrag.net \
--cc=warthog9@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.