Until 1b2d47e7a2 (Extract CGI
configuration from GitWebConfig, 2015-06-12), setting
[gitweb]
url = url://of/my/gitweb/instance
; cgi not set
was a way to request use of an externally managed gitweb instance
instead of the internal GitwebServlet. That patch accidentally
dropped support for that configuration, though it mostly worked if
/usr/lib/cgi-bin/gitweb.cgi happened to be missing or non-executable.
Noticed by running gitweb in such a configuration with
/usr/lib/cgi-bin/gitweb.cgi present and executable. GitwebServlet
failed to provision because I do not use LocalDiskRepositoryManager
and gerrit.basepath was not set.
Unexpected exception caught during GET localhost/
com.google.inject.ProvisionException: Unable to provision, see the following errors:
1) Error injecting constructor, java.lang.IllegalStateException: gerrit.basePath must be configured
at com.google.gerrit.server.git.LocalDiskRepositoryManager.<init>(LocalDiskRepositoryManager.java:146)
at com.google.gerrit.server.git.LocalDiskRepositoryManager.class(LocalDiskRepositoryManager.java:69)
while locating com.google.gerrit.server.git.LocalDiskRepositoryManager
for parameter 0 at com.google.gerrit.httpd.gitweb.GitwebServlet.<init>(GitwebServlet.java:111)
at com.google.gerrit.httpd.gitweb.GitwebServlet.class(GitwebServlet.java:85)
while locating com.google.gerrit.httpd.gitweb.GitwebServlet
Change-Id: I6aeecd2d6230711eb45a85abbd0000f663f95d74