Re: [RFC] gitweb: Add committags support (take 2)
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Dec 6, 2006, 12:51 UTC
- Message-ID
- <200612061351.02712.jnareb@gmail.com>
- In-Reply-To
- <7vmz64ortu.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
Show 13 quoted lines
> Jakub Narebski <jnareb@gmail.com> writes: > >> 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