From 9f6ef315d4b9e846ecadc2f5518d0dc0dd2ff0f4 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 22 Mar 2012 07:50:04 -0400 Subject: [PATCH] Properly escape fragment for HTML --- docs/01_setup.mkd | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 50 insertions(+), 9 deletions(-) diff --git a/docs/01_setup.mkd b/docs/01_setup.mkd index 1a3b9a9..09ddabb 100644 --- a/docs/01_setup.mkd +++ b/docs/01_setup.mkd @@ -86,6 +86,7 @@ --useNio Use NIO Connector else use Socket Connector. --httpPort HTTP port for to serve. (port <= 0 will disable this connector) --httpsPort HTTPS port to serve. (port <= 0 will disable this connector) + --ajpPort AJP port to serve. (port <= 0 will disable this connector) --storePassword Password for SSL (https) keystore. --shutdownPort Port for Shutdown Monitor to listen on. (port <= 0 will disable this monitor) --tempFolder Folder for server to extract built-in webapp @@ -93,6 +94,14 @@ **Example** java -jar gitblit.jar --userService c:\myrealm.config --storePassword something + +#### Overriding Gitblit GO's Log4j Configuration + +You can override Gitblit GO's default Log4j configuration with a command-line parameter to the JVM. + + java -Dlog4j.configuration=file:///home/james/log4j.properties -jar gitblit.jar <optional_gitblit_args> + +For reference, here is [Gitblit's default Log4j configuration](https://github.com/gitblit/gitblit/blob/master/src/log4j.properties). It includes some file appenders that are disabled by default. ## Running Gitblit behind Apache @@ -132,19 +141,15 @@ Allow from all </Proxy> -# Turn on Proxy status reporting at /status -# This should be better protected than: Allow from all -ProxyStatus On -<Location /status> - SetHandler server-status - Order Deny,Allow - Allow from all -</Location> - # The proxy context path must match the Gitblit context path. # For Gitblit GO, see server.contextPath in gitblit.properties. #ProxyPass /gitblit http://localhost:8080/gitblit +#ProxyPassreverse /gitblit http://localhost:8080/gitblit + +# If your httpd frontend is https but you are proxying http Gitblit WAR or GO +#Header edit Location ^http://([^⁄]+)/gitblit/ https://$1/gitblit/ + #ProxyPass /gitblit ajp://localhost:8009/gitblit %ENDCODE% **Please** make sure to: @@ -367,6 +372,42 @@ **NOTE:** Care should be taken when devising your notification scheme as it relates to any VIEW restricted repositories you might have. Setting a global mailing list and activating push notifications for a VIEW restricted repository may send unwanted emails. +## Lucene Search Integration + +*SINCE 0.9.0* + +Repositories may optionally be indexed using the Lucene search engine. The Lucene search offers several advantages over commit-traversal search: + +1. very fast commit and blob searches +2. multi-term searches +3. term-highlighted and syntax-highlighted fragment matches +4. multi-repository searches + +### How do I use it? + +Lucene indexing is an opt-in feature which means that no repositories are automatically indexed. +Like anything else, this design has pros and cons. + +#### Pros +1. no wasted cycles on repositories you will never search +2. you specify exactly what branches are indexed; experimental/dead/personal branches can be ignored + +#### Cons +1. you have to opt-in a repository _after_ it is created and has some commits +2. you specify exactly what branches are indexed + +#### Why does Gitblit check every 2 mins for repository/branch changes? + +Gitblit has to balance its design as a complete, integrated Git server and its utility as a repository viewer in an existing Git setup. + +Gitblit could build indexes immediately on *edit repository* or on *receiving pushes*, but that design would not work if someone is pushing via ssh://, git://, or file:// (i.e. not pushing to Gitblit http(s)://). For this reason Gitblit has a polling mechanism to check for ref changes every 2 mins. This design works well for all use cases, aside from adding a little lag in updating the index. + +#### Indexing Branches +You may specify which branches should be indexed per-repository in the *Edit Repository* page. New/empty repositories can not pre-specify indexed branches; you can only specify indexed branches for a repository with commits. Indexes are built and incrementally updated on a 2 minute cycle so you may have to wait a few minutes before your index is built or before your latest pushes get indexed. + +**NOTE:** +After specifying branches, only the content from those branches can be searched via Gitblit. Gitblit will automatically redirect any queries entered on a repository's search box to the Lucene search page. Repositories that do not specify any indexed branches will use the traditional commit-traversal search. + ## Client Setup and Configuration ### Https with Self-Signed Certificates You must tell Git/JGit not to verify the self-signed certificate in order to perform any remote Git operations. -- Gitblit v1.9.1