Re: [RFC] gitweb: Add committags support (take 2)
From: Jakub Narebski <hidden>
Date: 2016-08-11 19:57:50
Junio C Hamano wrote:
Jakub Narebski [off-list ref] writes:quoted
I have thought about putting %committags and @committags before loading config file do $GITWEB_CONFIG if -e $GITWEB_CONFIG; which can load config file depending on the project, but perhaps it is too complicated solution.I think you are talking about a gitweb-instance wide customization, but that's not what I meant. I meant per-project configuration where w/git-gui.git and w/git.git are served by the same instance of gitweb but have pointers to different issue trackers.
It looks like the hardest part with committags support wouldn't be the
actual implementation of it, but coming with easy and fast way to set
up those committags.
gitweb-xmms2 project from which the idea of committags support in gitweb
came (I think, correct me if I'm wrong) avoids this issue by having
issue tracker / bug tracker the same for all projects served by single
gitweb installation; the configuration is site-wide, and there is no
per project committags configuration.
I have imagined the following twofold solution.
1. Make it easier to have per repository gitweb configuration, for
example by having gitweb configuration file in GIT_DIR for a project,
"gitweb_conf.perl" by default:
our $GITWEB_REPO_CONFIG = $ENV{'GITWEB_REPO_CONFIG'} ||
"++GITWEB_CONFIG++";
do "$projectroot/$project/$GITWEB_REPO_CONFIG"
if -e "$projectroot/$project/$GITWEB_CONFIG";
2. Put the configuration in config file, using/like %features support.
For example gitweb.committags.<committag name> would hold parameters
for <committag>. Committags sequence would be given by sequence of
entries in config file. Comittags without options would have sole
variable entry (which I think is equivalent to being bool variable
and having 1 or 'yes' as value).
The trouble with this approach is not overriding defaults provided
while still turning on/off specific committag. And of course the fact
that for that we need rather config reader in Perl (Git.pm or
gitweb).
What do you think about it? Junio? Pasky?
--
Jakub Narebski