From: Pavan Kumar Sunkara Date: Tue, 18 May 2010 18:56:25 GMT Subject: Re: [PATCH GSoC 2/3] git-instaweb: Configure it to work with a global server root and projects list Message-ID: In-Reply-To: > While I can agree with `instaweb.root' config variable to *override* > the default, it should have sane default, and setting it should be not > required to be able to run git-instaweb.  Therefore the 'install' > target of main Makefile should either: > a.) install gitweb into gitdir=$(sharedir)/gitweb, and make >    instaweb.root be $(sharedir)/gitweb by default > b.) install gitweb into $(gitwebdir), which only have $(sharedir)/gitweb >    as default, and embed $(gitwebdir) in git-instaweb script when >    building, so that it would be default value of instaweb.root > > This would probably mean replacing either @@sharedir@@ or @@gitwebdir@@ > placeholders in git-instaweb.sh when building git-instaweb. Yeah I will do that. >> and the httpd.conf along with server logs and pid go into >> '$(HOME)/.gitweb' directory. >> >> As there is no need to call git-instaweb in every git repository, >> configure gitweb to get $projects_list from file '$(HOME)/.gitweb/list' >> and $projectroot is '' >> >> Example of ~/.gitweb/list: >> home%2Fpavan%2Fgit%2F.git Linus+Torvalds >> home%2Fpavan%2Fgsoc%2F.git Pavan+Kumar+Sunkara > > This is quite a large change on how git-instaweb works. > > First, I think such change should be better left for a separate > commit, splitting this one in two: one making git-instaweb use > installed gitweb files, and installing gitweb files somewhere when > installing git, and second changing how git-instaweb behave. > "Do one thing, and do it well."  It would make easier to check > if there are errors in the commit. Ok. > Second, in my opinion it is not a good change at all.  Currently you > can run "git instaweb" when inside git repository, and get a web > browser (or a new tab in existing session of a running web browser) > with current repository in it, to browse its history.  It is similar > to running gitk (or other graphical history browser, like qgit, tig, > etc.), or running "git log", but with web interface. Yes. But this change is vital for the success of my GSoC project. I will explain why. If you remember, my GSoC project contains some functionalities like creating/cloning repositories which need a server which need to start outside git directory. Until now, I thought to use git-instaweb to do this. But I realised now that it would be better if we have another script. So we need to have a different "git-client" script which starts this client. What do you say ? > Now, current git-instaweb behavior has its quirks, but having > git-instaweb show _current_ repository is a very important feature, > and I'd rather we didn't lose it in transition. > > So in my opinion it would be better to just update git-instaweb and > generating git-instaweb to make use of installed gitweb and installed > gitweb files, but do not change organization of generated files; just > instead of gitweb.cgi there should be gitweb_config.perl with > appropriate configuration to show current repository.  And of course > there would be no gitweb files in $GIT_DIR/gitweb (in .git/gitweb) > directory. Ok. Sure I will do it. Thanks - Pavan