<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="generator" content="Asciidoctor 2.0.26"/>
<title>gitweb.conf(5)</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"/>
<style>
/*! Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
/* Uncomment the following line when using as a custom stylesheet */
/* @import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"; */
html{font-family:sans-serif;-webkit-text-size-adjust:100%}
a{background:none}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
h1{font-size:2em;margin:.67em 0}
b,strong{font-weight:bold}
abbr{font-size:.9em}
abbr[title]{cursor:help;border-bottom:1px dotted #dddddf;text-decoration:none}
dfn{font-style:italic}
hr{height:0}
mark{background:#ff0;color:#000}
code,kbd,pre,samp{font-family:monospace;font-size:1em}
pre{white-space:pre-wrap}
q{quotes:"\201C" "\201D" "\2018" "\2019"}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-.5em}
sub{bottom:-.25em}
img{border:0}
svg:not(:root){overflow:hidden}
figure{margin:0}
audio,video{display:inline-block}
audio:not([controls]){display:none;height:0}
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
legend{border:0;padding:0}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
button,input{line-height:normal}
button,select{text-transform:none}
button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
input[type=checkbox],input[type=radio]{padding:0}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}
*,::before,::after{box-sizing:border-box}
html,body{font-size:100%}
body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-wrap:anywhere;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}
a:hover{cursor:pointer}
img,object,embed{max-width:100%;height:auto}
object,embed{height:100%}
img{-ms-interpolation-mode:bicubic}
.left{float:left!important}
.right{float:right!important}
.text-left{text-align:left!important}
.text-right{text-align:right!important}
.text-center{text-align:center!important}
.text-justify{text-align:justify!important}
.hide{display:none}
img,object,svg{display:inline-block;vertical-align:middle}
textarea{height:auto;min-height:50px}
select{width:100%}
.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}
a{color:#2156a5;text-decoration:underline;line-height:inherit}
a:hover,a:focus{color:#1d4b8f}
a img{border:0}
p{line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
p aside{font-size:.875em;line-height:1.35;font-style:italic}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
h1{font-size:2.125em}
h2{font-size:1.6875em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
h4,h5{font-size:1.125em}
h6{font-size:1em}
hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em}
em,i{font-style:italic;line-height:inherit}
strong,b{font-weight:bold;line-height:inherit}
small{font-size:60%;line-height:inherit}
code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
ul,ol,dl{line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
ul,ol{margin-left:1.5em}
ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0}
ul.circle{list-style-type:circle}
ul.disc{list-style-type:disc}
ul.square{list-style-type:square}
ul.circle ul:not([class]),ul.disc ul:not([class]),ul.square ul:not([class]){list-style:inherit}
ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
dl dt{margin-bottom:.3125em;font-weight:bold}
dl dd{margin-bottom:1.25em}
blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
@media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
h1{font-size:2.75em}
h2{font-size:2.3125em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
h4{font-size:1.4375em}}
table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede;word-wrap:normal}
table thead,table tfoot{background:#f7f8f7}
table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
table tr.even,table tr.alt{background:#f8f8f7}
table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{line-height:1.6}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
.center{margin-left:auto;margin-right:auto}
.stretch{width:100%}
.clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table}
.clearfix::after,.float-group::after{clear:both}
:not(pre).nobreak{word-wrap:normal}
:not(pre).nowrap{white-space:nowrap}
:not(pre).pre-wrap{white-space:pre-wrap}
:not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed}
pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit}
pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal}
em em{font-style:normal}
strong strong{font-weight:400}
.keyseq{color:rgba(51,51,51,.8)}
kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
.keyseq kbd:first-child{margin-left:0}
.keyseq kbd:last-child{margin-right:0}
.menuseq,.menuref{color:#000}
.menuseq b:not(.caret),.menuref{font-weight:inherit}
.menuseq{word-spacing:-.02em}
.menuseq b.caret{font-size:1.25em;line-height:.8}
.menuseq i.caret{font-weight:bold;text-align:center;width:.45em}
b.button::before,b.button::after{position:relative;top:-1px;font-weight:400}
b.button::before{content:"[";padding:0 3px 0 2px}
b.button::after{content:"]";padding:0 2px 0 3px}
p a>code:hover{color:rgba(0,0,0,.9)}
#header,#content,#footnotes,#footer{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
#header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table}
#header::after,#content::after,#footnotes::after,#footer::after{clear:both}
#content{margin-top:1.25em}
#content::before{content:none}
#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}
#header>h1:only-child{border-bottom:1px solid #dddddf;padding-bottom:8px}
#header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}
#header .details span:first-child{margin-left:-.125em}
#header .details span.email a{color:rgba(0,0,0,.85)}
#header .details br{display:none}
#header .details br+span::before{content:"\00a0\2013\00a0"}
#header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
#header .details br+span#revremark::before{content:"\00a0|\00a0"}
#header #revnumber{text-transform:capitalize}
#header #revnumber::after{content:"\00a0"}
#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
#toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}
#toc>ul{margin-left:.125em}
#toc ul.sectlevel0>li>a{font-style:italic}
#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
#toc li{line-height:1.3334;margin-top:.3334em}
#toc a{text-decoration:none}
#toc a:active{text-decoration:underline}
#toctitle{color:#7a2518;font-size:1.2em}
@media screen and (min-width:768px){#toctitle{font-size:1.375em}
body.toc2{padding-left:15em;padding-right:0}
body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}
#toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
#toc.toc2>ul{font-size:.9em;margin-bottom:0}
#toc.toc2 ul ul{margin-left:0;padding-left:1em}
#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
body.toc2.toc-right{padding-left:0;padding-right:15em}
body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}
@media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
#toc.toc2{width:20em}
#toc.toc2 #toctitle{font-size:1.375em}
#toc.toc2>ul{font-size:.95em}
#toc.toc2 ul ul{padding-left:1.25em}
body.toc2.toc-right{padding-left:0;padding-right:20em}}
#content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}
#content #toc>:first-child{margin-top:0}
#content #toc>:last-child{margin-bottom:0}
#footer{max-width:none;background:rgba(0,0,0,.8);padding:1.25em}
#footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}
#content{margin-bottom:.625em}
.sect1{padding-bottom:.625em}
@media screen and (min-width:768px){#content{margin-bottom:1.25em}
.sect1{padding-bottom:1.25em}}
.sect1:last-child{padding-bottom:0}
.sect1+.sect1{border-top:1px solid #e7e7e9}
#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
#content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
details{margin-left:1.25rem}
details>summary{cursor:pointer;display:block;position:relative;line-height:1.6;margin-bottom:.625rem;outline:none;-webkit-tap-highlight-color:transparent}
details>summary::-webkit-details-marker{display:none}
details>summary::before{content:"";border:solid transparent;border-left:solid;border-width:.3em 0 .3em .5em;position:absolute;top:.5em;left:-1.25rem;transform:translateX(15%)}
details[open]>summary::before{border:solid transparent;border-top:solid;border-width:.5em .3em 0;transform:translateY(15%)}
details>summary::after{content:"";width:1.25rem;height:1em;position:absolute;top:.3em;left:-1.25rem}
.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}
.paragraph.lead>p,#preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}
.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
.admonitionblock>table td.icon{text-align:center;width:80px}
.admonitionblock>table td.icon img{max-width:none}
.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6);word-wrap:anywhere}
.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
.exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}
.sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
.exampleblock>.content>:first-child,.sidebarblock>.content>:first-child{margin-top:0}
.exampleblock>.content>:last-child,.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
.literalblock pre,.listingblock>.content>pre{border-radius:4px;overflow-x:auto;padding:1em;font-size:.8125em}
@media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}}
@media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}}
.literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class=highlight],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8}
.literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}
.listingblock>.content{position:relative}
.listingblock pre>code{display:block}
.listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}
.listingblock:hover code[data-lang]::before{display:block}
.listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}
.listingblock.terminal pre .command:not([data-prompt])::before{content:"$"}
.listingblock pre.highlightjs{padding:0}
.listingblock pre.highlightjs>code{padding:1em;border-radius:4px}
.listingblock pre.prettyprint{border-width:0}
.prettyprint{background:#f7f7f8}
pre.prettyprint .linenums{line-height:1.45;margin-left:2em}
pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}
pre.prettyprint li code[data-lang]::before{opacity:1}
pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none}
table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}
table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}
table.linenotable td.code{padding-left:.75em}
table.linenotable td.linenos,pre.pygments .linenos{border-right:1px solid;opacity:.35;padding-right:.5em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
pre.pygments span.linenos{display:inline-block;margin-right:.75em}
.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
.quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}
.quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
.quoteblock blockquote{margin:0;padding:0;border:0}
.quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
.quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}
.verseblock{margin:0 1em 1.25em}
.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans-serif;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
.verseblock pre strong{font-weight:400}
.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
.quoteblock .attribution br,.verseblock .attribution br{display:none}
.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
.quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none}
.quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0}
.quoteblock.abstract{margin:0 1em 1.25em;display:block}
.quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}
.quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}
.quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0}
.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}
.quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;font-size:.85rem;text-align:left;margin-right:0}
p.tableblock:last-child{margin-bottom:0}
td.tableblock>.content{margin-bottom:1.25em;word-wrap:anywhere}
td.tableblock>.content>:last-child{margin-bottom:-1.25em}
table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
table.grid-all>*>tr>*{border-width:1px}
table.grid-cols>*>tr>*{border-width:0 1px}
table.grid-rows>*>tr>*{border-width:1px 0}
table.frame-all{border-width:1px}
table.frame-ends{border-width:1px 0}
table.frame-sides{border-width:0 1px}
table.frame-none>colgroup+*>:first-child>*,table.frame-sides>colgroup+*>:first-child>*{border-top-width:0}
table.frame-none>:last-child>:last-child>*,table.frame-sides>:last-child>:last-child>*{border-bottom-width:0}
table.frame-none>*>tr>:first-child,table.frame-ends>*>tr>:first-child{border-left-width:0}
table.frame-none>*>tr>:last-child,table.frame-ends>*>tr>:last-child{border-right-width:0}
table.stripes-all>*>tr,table.stripes-odd>*>tr:nth-of-type(odd),table.stripes-even>*>tr:nth-of-type(even),table.stripes-hover>*>tr:hover{background:#f8f8f7}
th.halign-left,td.halign-left{text-align:left}
th.halign-right,td.halign-right{text-align:right}
th.halign-center,td.halign-center{text-align:center}
th.valign-top,td.valign-top{vertical-align:top}
th.valign-bottom,td.valign-bottom{vertical-align:bottom}
th.valign-middle,td.valign-middle{vertical-align:middle}
table thead th,table tfoot th{font-weight:bold}
tbody tr th{background:#f7f8f7}
tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
p.tableblock>code:only-child{background:none;padding:0}
p.tableblock{font-size:1em}
ol{margin-left:1.75em}
ul li ol{margin-left:1.5em}
dl dd{margin-left:1.125em}
dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none}
ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em}
ul.unstyled,ol.unstyled{margin-left:0}
li>p:empty:only-child::before{content:"";display:inline-block}
ul.checklist>li>p:first-child{margin-left:-1em}
ul.checklist>li>p:first-child>.fa-square-o:first-child,ul.checklist>li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}
ul.checklist>li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}
ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}
ul.inline>li{margin-left:1.25em}
.unstyled dl dt{font-weight:400;font-style:normal}
ol.arabic{list-style-type:decimal}
ol.decimal{list-style-type:decimal-leading-zero}
ol.loweralpha{list-style-type:lower-alpha}
ol.upperalpha{list-style-type:upper-alpha}
ol.lowerroman{list-style-type:lower-roman}
ol.upperroman{list-style-type:upper-roman}
ol.lowergreek{list-style-type:lower-greek}
.hdlist>table,.colist>table{border:0;background:none}
.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
td.hdlist1{font-weight:bold;padding-bottom:1.25em}
td.hdlist2{word-wrap:anywhere}
.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
.colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}
.colist td:not([class]):first-child img{max-width:none}
.colist td:not([class]):last-child{padding:.25em 0}
.thumb,.th{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}
.imageblock.left{margin:.25em .625em 1.25em 0}
.imageblock.right{margin:.25em 0 1.25em .625em}
.imageblock>.title{margin-bottom:0}
.imageblock.thumb,.imageblock.th{border-width:6px}
.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
.image.left{margin-right:.625em}
.image.right{margin-left:.625em}
a.image{text-decoration:none;display:inline-block}
a.image object{pointer-events:none}
sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
sup.footnote a,sup.footnoteref a{text-decoration:none}
sup.footnote a:active,sup.footnoteref a:active,#footnotes .footnote a:first-of-type:active{text-decoration:underline}
#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}
#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}
#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em}
#footnotes .footnote:last-of-type{margin-bottom:0}
#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
div.unbreakable{page-break-inside:avoid}
.big{font-size:larger}
.small{font-size:smaller}
.underline{text-decoration:underline}
.overline{text-decoration:overline}
.line-through{text-decoration:line-through}
.aqua{color:#00bfbf}
.aqua-background{background:#00fafa}
.black{color:#000}
.black-background{background:#000}
.blue{color:#0000bf}
.blue-background{background:#0000fa}
.fuchsia{color:#bf00bf}
.fuchsia-background{background:#fa00fa}
.gray{color:#606060}
.gray-background{background:#7d7d7d}
.green{color:#006000}
.green-background{background:#007d00}
.lime{color:#00bf00}
.lime-background{background:#00fa00}
.maroon{color:#600000}
.maroon-background{background:#7d0000}
.navy{color:#000060}
.navy-background{background:#00007d}
.olive{color:#606000}
.olive-background{background:#7d7d00}
.purple{color:#600060}
.purple-background{background:#7d007d}
.red{color:#bf0000}
.red-background{background:#fa0000}
.silver{color:#909090}
.silver-background{background:#bcbcbc}
.teal{color:#006060}
.teal-background{background:#007d7d}
.white{color:#bfbfbf}
.white-background{background:#fafafa}
.yellow{color:#bfbf00}
.yellow-background{background:#fafa00}
span.icon>.fa{cursor:default}
a span.icon>.fa{cursor:inherit}
.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
.admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c}
.admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
.admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900}
.admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400}
.admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000}
.conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:50%;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
.conum[data-value] *{color:#fff!important}
.conum[data-value]+b{display:none}
.conum[data-value]::after{content:attr(data-value)}
pre .conum[data-value]{position:relative;top:-.125em}
b.conum *{color:inherit!important}
.conum:not([data-value]):empty{display:none}
dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
h1,h2,p,td.content,span.alt,summary{letter-spacing:-.01em}
p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
p,blockquote,dt,td.content,td.hdlist1,span.alt,summary{font-size:1.0625rem}
p{margin-bottom:1.25rem}
.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
.exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}
.print-only{display:none!important}
@page{margin:1.25cm .75cm}
@media print{*{box-shadow:none!important;text-shadow:none!important}
html{font-size:80%}
a{color:inherit!important;text-decoration:underline!important}
a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
abbr[title]{border-bottom:1px dotted}
abbr[title]::after{content:" (" attr(title) ")"}
pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
thead{display:table-header-group}
svg{max-width:100%}
p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
#header,#content,#footnotes,#footer{max-width:none}
#toc,.sidebarblock,.exampleblock>.content{background:none!important}
#toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}
body.book #header{text-align:center}
body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}
body.book #header .details{border:0!important;display:block;padding:0!important}
body.book #header .details span:first-child{margin-left:0!important}
body.book #header .details br{display:block}
body.book #header .details br+span::before{content:none!important}
body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
.listingblock code[data-lang]::before{display:block}
#footer{padding:0 .9375em}
.hide-on-print{display:none!important}
.print-only{display:block!important}
.hide-for-print{display:none!important}
.show-for-print{display:inherit!important}}
@media amzn-kf8,print{#header>h1:first-child{margin-top:1.25rem}
.sect1{padding:0!important}
.sect1+.sect1{border:0}
#footer{background:none}
#footer-text{color:rgba(0,0,0,.6);font-size:.9em}}
@media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}}
</style>
<style>
pre>code {
   display: inline;
}
</style>
</head>
<body class="manpage">
<div id="header">
<h1>gitweb.conf(5) Manual Page</h1>
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<p>gitweb.conf - Gitweb (Git web interface) configuration file</p>
</div>
</div>
<div id="content">
<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="paragraph">
<p>/etc/gitweb.conf, /etc/gitweb-common.conf, $GITWEBDIR/gitweb_config.perl</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The gitweb CGI script for viewing Git repositories over the web uses a
perl script fragment as its configuration file.  You can set variables
using "<code>our</code> <code>$variable</code> <code>=</code> <code>value</code>"; text from a "#" character until the
end of a line is ignored.  See <strong>perlsyn</strong>(1) for details.</p>
</div>
<div class="paragraph">
<p>An example:</p>
</div>
<div class="listingblock">
<div class="content">
<pre># gitweb configuration file for http://git.example.org
#
our $projectroot = "/srv/git"; # FHS recommendation
our $site_name = 'Example.org &gt;&gt; Repos';</pre>
</div>
</div>
<div class="paragraph">
<p>The configuration file is used to override the default settings that
were built into gitweb at the time the <em>gitweb.cgi</em> script was generated.</p>
</div>
<div class="paragraph">
<p>While one could just alter the configuration settings in the gitweb
CGI itself, those changes would be lost upon upgrade.  Configuration
settings might also be placed into a file in the same directory as the
CGI script with the default name <em>gitweb_config.perl</em>&#8201;&#8212;&#8201;allowing
one to have multiple gitweb instances with different configurations by
the use of symlinks.</p>
</div>
<div class="paragraph">
<p>Note that some configuration can be controlled on per-repository rather than
gitweb-wide basis: see "Per-repository gitweb configuration" subsection on
<a href="gitweb.html">gitweb(1)</a> manpage.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_discussion">DISCUSSION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Gitweb reads configuration data from the following sources in the
following order:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>built-in values (some set during build stage),</p>
</li>
<li>
<p>common system-wide configuration file (defaults to
<code>/etc/gitweb-common.conf</code>),</p>
</li>
<li>
<p>either per-instance configuration file (defaults to <em>gitweb_config.perl</em>
in the same directory as the installed gitweb), or if it does not exist
then fallback system-wide configuration file (defaults to <code>/etc/gitweb.conf</code>).</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Values obtained in later configuration files override values obtained earlier
in the above sequence.</p>
</div>
<div class="paragraph">
<p>Locations of the common system-wide configuration file, the fallback
system-wide configuration file and the per-instance configuration file
are defined at compile time using build-time Makefile configuration
variables, respectively <code>GITWEB_CONFIG_COMMON</code>, <code>GITWEB_CONFIG_SYSTEM</code>
and <code>GITWEB_CONFIG</code>.</p>
</div>
<div class="paragraph">
<p>You can also override locations of gitweb configuration files during
runtime by setting the following environment variables:
<code>GITWEB_CONFIG_COMMON</code>, <code>GITWEB_CONFIG_SYSTEM</code> and <code>GITWEB_CONFIG</code>
to a non-empty value.</p>
</div>
<div class="paragraph">
<p>The syntax of the configuration files is that of Perl, since these files are
handled by sourcing them as fragments of Perl code (the language that
gitweb itself is written in). Variables are typically set using the
<code>our</code> qualifier (as in "<code>our</code> <code>$variable</code> <code>=</code> <em>&lt;value&gt;</em>;") to avoid syntax
errors if a new version of gitweb no longer uses a variable and therefore
stops declaring it.</p>
</div>
<div class="paragraph">
<p>You can include other configuration file using read_config_file()
subroutine.  For example, one might want to put gitweb configuration
related to access control for viewing repositories via Gitolite (one
of Git repository management tools) in a separate file, e.g. in
<code>/etc/gitweb-gitolite.conf</code>.  To include it, put</p>
</div>
<div class="listingblock">
<div class="content">
<pre>read_config_file("/etc/gitweb-gitolite.conf");</pre>
</div>
</div>
<div class="paragraph">
<p>somewhere in gitweb configuration file used, e.g. in per-installation
gitweb configuration file.  Note that read_config_file() checks itself
that the file it reads exists, and does nothing if it is not found.
It also handles errors in included file.</p>
</div>
<div class="paragraph">
<p>The default configuration with no configuration file at all may work
perfectly well for some installations.  Still, a configuration file is
useful for customizing or tweaking the behavior of gitweb in many ways, and
some optional features will not be present unless explicitly enabled using
the configurable <code>%features</code> variable (see also "Configuring gitweb
features" section below).</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_configuration_variables">CONFIGURATION VARIABLES</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Some configuration variables have their default values (embedded in the CGI
script) set during building gitweb&#8201;&#8212;&#8201;if that is the case, this fact is put
in their description.  See gitweb&#8217;s <em>INSTALL</em> file for instructions on building
and installing gitweb.</p>
</div>
<div class="sect2">
<h3 id="_location_of_repositories">Location of repositories</h3>
<div class="paragraph">
<p>The configuration variables described below control how gitweb finds
Git repositories, and how repositories are displayed and accessed.</p>
</div>
<div class="paragraph">
<p>See also "Repositories" and later subsections in <a href="gitweb.html">gitweb(1)</a> manpage.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">$projectroot</dt>
<dd>
<p>Absolute filesystem path which will be prepended to project path;
the path to repository is <code>$projectroot/$project</code>.  Set to
<code>$GITWEB_PROJECTROOT</code> during installation.  This variable has to be
set correctly for gitweb to find repositories.</p>
<div class="paragraph">
<p>For example, if <code>$projectroot</code> is set to "/srv/git" by putting the following
in gitweb config file:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>our $projectroot = "/srv/git";</pre>
</div>
</div>
<div class="paragraph">
<p>then</p>
</div>
<div class="listingblock">
<div class="content">
<pre>http://git.example.com/gitweb.cgi?p=foo/bar.git</pre>
</div>
</div>
<div class="paragraph">
<p>and its path_info based equivalent</p>
</div>
<div class="listingblock">
<div class="content">
<pre>http://git.example.com/gitweb.cgi/foo/bar.git</pre>
</div>
</div>
<div class="paragraph">
<p>will map to the path <code>/srv/git/foo/bar.git</code> on the filesystem.</p>
</div>
</dd>
<dt class="hdlist1">$projects_list</dt>
<dd>
<p>Name of a plain text file listing projects, or a name of directory
to be scanned for projects.</p>
<div class="paragraph">
<p>Project list files should list one project per line, with each line
having the following format</p>
</div>
<div class="listingblock">
<div class="content">
<pre>&lt;URI-encoded filesystem path to repository&gt; SP &lt;URI-encoded repository owner&gt;</pre>
</div>
</div>
<div class="paragraph">
<p>The default value of this variable is determined by the <code>GITWEB_LIST</code>
makefile variable at installation time.  If this variable is empty, gitweb
will fall back to scanning the <code>$projectroot</code> directory for repositories.</p>
</div>
</dd>
<dt class="hdlist1">$project_maxdepth</dt>
<dd>
<p>If <code>$projects_list</code> variable is unset, gitweb will recursively
scan filesystem for Git repositories.  The <code>$project_maxdepth</code>
is used to limit traversing depth, relative to <code>$projectroot</code>
(starting point); it means that directories which are further
from <code>$projectroot</code> than <code>$project_maxdepth</code> will be skipped.</p>
<div class="paragraph">
<p>It is purely performance optimization, originally intended for MacOS X,
where recursive directory traversal is slow.  Gitweb follows symbolic
links, but it detects cycles, ignoring any duplicate files and directories.</p>
</div>
<div class="paragraph">
<p>The default value of this variable is determined by the build-time
configuration variable <code>GITWEB_PROJECT_MAXDEPTH</code>, which defaults to
2007.</p>
</div>
</dd>
<dt class="hdlist1">$export_ok</dt>
<dd>
<p>Show repository only if this file exists (in repository).  Only
effective if this variable evaluates to true.  Can be set when
building gitweb by setting <code>GITWEB_EXPORT_OK</code>.  This path is
relative to <code>GIT_DIR</code>.  <a href="git-daemon.html">git-daemon(1)</a> uses <em>git-daemon-export-ok</em>,
unless started with <code>--export-all</code>.  By default this variable is
not set, which means that this feature is turned off.</p>
</dd>
<dt class="hdlist1">$export_auth_hook</dt>
<dd>
<p>Function used to determine which repositories should be shown.
This subroutine should take one parameter, the full path to
a project, and if it returns true, that project will be included
in the projects list and can be accessed through gitweb as long
as it fulfills the other requirements described by $export_ok,
$projects_list, and $projects_maxdepth.  Example:</p>
<div class="listingblock">
<div class="content">
<pre>our $export_auth_hook = sub { return -e "$_[0]/git-daemon-export-ok"; };</pre>
</div>
</div>
<div class="paragraph">
<p>though the above might be done by using <code>$export_ok</code> instead</p>
</div>
<div class="listingblock">
<div class="content">
<pre>our $export_ok = "git-daemon-export-ok";</pre>
</div>
</div>
<div class="paragraph">
<p>If not set (default), it means that this feature is disabled.</p>
</div>
<div class="paragraph">
<p>See also more involved example in "Controlling access to Git repositories"
subsection on <a href="gitweb.html">gitweb(1)</a> manpage.</p>
</div>
</dd>
<dt class="hdlist1">$strict_export</dt>
<dd>
<p>Only allow viewing of repositories also shown on the overview page.
This for example makes <code>$export_ok</code> file decide if repository is
available and not only if it is shown.  If <code>$projects_list</code> points to
file with list of project, only those repositories listed would be
available for gitweb.  Can be set during building gitweb via
<code>GITWEB_STRICT_EXPORT</code>.  By default this variable is not set, which
means that you can directly access those repositories that are hidden
from projects list page (e.g. the are not listed in the $projects_list
file).</p>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="_finding_files">Finding files</h3>
<div class="paragraph">
<p>The following configuration variables tell gitweb where to find files.
The values of these variables are paths on the filesystem.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">$GIT</dt>
<dd>
<p>Core git executable to use.  By default set to <code>$GIT_BINDIR/git</code>, which
in turn is by default set to <code>$</code>(<code>bindir</code>)<code>/git</code>.  If you use Git installed
from a binary package, you should usually set this to "/usr/bin/git".
This can just be "git" if your web server has a sensible PATH; from
security point of view it is better to use absolute path to git binary.
If you have multiple Git versions installed it can be used to choose
which one to use.  Must be (correctly) set for gitweb to be able to
work.</p>
</dd>
<dt class="hdlist1">$mimetypes_file</dt>
<dd>
<p>File to use for (filename extension based) guessing of MIME types before
trying <code>/etc/mime.types</code>.  <strong>NOTE</strong> that this path, if relative, is taken
as relative to the current Git repository, not to CGI script.  If unset,
only <code>/etc/mime.types</code> is used (if present on filesystem).  If no mimetypes
file is found, mimetype guessing based on extension of file is disabled.
Unset by default.</p>
</dd>
<dt class="hdlist1">$highlight_bin</dt>
<dd>
<p>Path to the highlight executable to use (it must be the one from
<a href="http://andre-simon.de/zip/download.php" class="bare">http://andre-simon.de/zip/download.php</a> due to assumptions about parameters and output).
By default set to <em>highlight</em>; set it to full path to highlight
executable if it is not installed on your web server&#8217;s PATH.
Note that <em>highlight</em> feature must be set for gitweb to actually
use syntax highlighting.</p>
<div class="paragraph">
<p><strong>NOTE</strong>: for a file to be highlighted, its syntax type must be detected
and that syntax must be supported by "highlight".  The default syntax
detection is minimal, and there are many supported syntax types with no
detection by default.  There are three options for adding syntax
detection.  The first and second priority are <code>%highlight_basename</code> and
<code>%highlight_ext</code>, which detect based on basename (the full filename, for
example "Makefile") and extension (for example "sh").  The keys of these
hashes are the basename and extension, respectively, and the value for a
given key is the name of the syntax to be passed via <code>--syntax</code> <em>&lt;syntax&gt;</em>
to "highlight".  The last priority is the "highlight" configuration of
<code>Shebang</code> regular expressions to detect the language based on the first
line in the file, (for example, matching the line "#!/bin/bash").  See
the highlight documentation and the default config at
/etc/highlight/filetypes.conf for more details.</p>
</div>
<div class="paragraph">
<p>For example if repositories you are hosting use "phtml" extension for
PHP files, and you want to have correct syntax-highlighting for those
files, you can add the following to gitweb configuration:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>our %highlight_ext;
$highlight_ext{'phtml'} = 'php';</pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="_links_and_their_targets">Links and their targets</h3>
<div class="paragraph">
<p>The configuration variables described below configure some of gitweb links:
their target and their look (text or image), and where to find page
prerequisites (stylesheet, favicon, images, scripts).  Usually they are left
at their default values, with the possible exception of <code>@stylesheets</code>
variable.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">@stylesheets</dt>
<dd>
<p>List of URIs of stylesheets (relative to the base URI of a page). You
might specify more than one stylesheet, for example to use "gitweb.css"
as base with site specific modifications in a separate stylesheet
to make it easier to upgrade gitweb.  For example, you can add
a <code>site</code> stylesheet by putting</p>
<div class="listingblock">
<div class="content">
<pre>push @stylesheets, "gitweb-site.css";</pre>
</div>
</div>
<div class="paragraph">
<p>in the gitweb config file.  Those values that are relative paths are
relative to base URI of gitweb.</p>
</div>
<div class="paragraph">
<p>This list should contain the URI of gitweb&#8217;s standard stylesheet.  The default
URI of gitweb stylesheet can be set at build time using the <code>GITWEB_CSS</code>
makefile variable.  Its default value is <code>static/gitweb.css</code>
(or <code>static/gitweb.min.css</code> if the <code>CSSMIN</code> variable is defined,
i.e. if CSS minifier is used during build).</p>
</div>
<div class="paragraph">
<p><strong>Note</strong>: there is also a legacy <code>$stylesheet</code> configuration variable, which was
used by older gitweb.  If <code>$stylesheet</code> variable is defined, only CSS stylesheet
given by this variable is used by gitweb.</p>
</div>
</dd>
<dt class="hdlist1">$logo</dt>
<dd>
<p>Points to the location where you put <em>git-logo.png</em> on your web
server, or to be more the generic URI of logo, 72x27 size).  This image
is displayed in the top right corner of each gitweb page and used as
a logo for the Atom feed.  Relative to the base URI of gitweb (as a path).
Can be adjusted when building gitweb using <code>GITWEB_LOGO</code> variable
By default set to <code>static/git-logo.png</code>.</p>
</dd>
<dt class="hdlist1">$favicon</dt>
<dd>
<p>Points to the location where you put <em>git-favicon.png</em> on your web
server, or to be more the generic URI of favicon, which will be served
as "image/png" type.  Web browsers that support favicons (website icons)
may display them in the browser&#8217;s URL bar and next to the site name in
bookmarks.  Relative to the base URI of gitweb.  Can be adjusted at
build time using <code>GITWEB_FAVICON</code> variable.
By default set to <code>static/git-favicon.png</code>.</p>
</dd>
<dt class="hdlist1">$javascript</dt>
<dd>
<p>Points to the location where you put <em>gitweb.js</em> on your web server,
or to be more generic the URI of JavaScript code used by gitweb.
Relative to the base URI of gitweb.  Can be set at build time using
the <code>GITWEB_JS</code> build-time configuration variable.</p>
<div class="paragraph">
<p>The default value is either <code>static/gitweb.js</code>, or <code>static/gitweb.min.js</code> if
the <code>JSMIN</code> build variable was defined, i.e. if JavaScript minifier was used
at build time.  <strong>Note</strong> that this single file is generated from multiple
individual JavaScript "modules".</p>
</div>
</dd>
<dt class="hdlist1">$home_link</dt>
<dd>
<p>Target of the home link on the top of all pages (the first part of view
"breadcrumbs").  By default it is set to the absolute URI of a current page
(to the value of <code>$my_uri</code> variable, or to "/" if <code>$my_uri</code> is undefined
or is an empty string).</p>
</dd>
<dt class="hdlist1">$home_link_str</dt>
<dd>
<p>Label for the "home link" at the top of all pages, leading to <code>$home_link</code>
(usually the main gitweb page, which contains the projects list).  It is
used as the first component of gitweb&#8217;s "breadcrumb trail":
<em>&lt;home-link&gt;</em> <code>/</code> <em>&lt;project&gt;</em> <code>/</code> <em>&lt;action&gt;</em>.  Can be set at build time using
the <code>GITWEB_HOME_LINK_STR</code> variable.  By default it is set to "projects",
as this link leads to the list of projects.  Another popular choice is to
set it to the name of site.  Note that it is treated as raw HTML so it
should not be set from untrusted sources.</p>
</dd>
<dt class="hdlist1">@extra_breadcrumbs</dt>
<dd>
<p>Additional links to be added to the start of the breadcrumb trail before
the home link, to pages that are logically "above" the gitweb projects
list, such as the organization and department which host the gitweb
server. Each element of the list is a reference to an array, in which
element 0 is the link text (equivalent to <code>$home_link_str</code>) and element
1 is the target URL (equivalent to <code>$home_link</code>).</p>
<div class="paragraph">
<p>For example, the following setting produces a breadcrumb trail like
"home / dev / projects / &#8230;&#8203;" where "projects" is the home link.</p>
</div>
<div class="listingblock">
<div class="content">
<pre>    our @extra_breadcrumbs = (
      [ 'home' =&gt; 'https://www.example.org/' ],
      [ 'dev'  =&gt; 'https://dev.example.org/' ],
    );</pre>
</div>
</div>
</dd>
<dt class="hdlist1">$logo_url</dt>
<dt class="hdlist1">$logo_label</dt>
<dd>
<p>URI and label (title) for the Git logo link (or your site logo,
if you chose to use different logo image). By default, these both
refer to Git homepage, <a href="https://git-scm.com" class="bare">https://git-scm.com</a>; in the past, they pointed
to Git documentation at <a href="https://www.kernel.org" class="bare">https://www.kernel.org</a>.</p>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="_changing_gitwebs_look">Changing gitweb&#8217;s look</h3>
<div class="paragraph">
<p>You can adjust how pages generated by gitweb look using the variables described
below.  You can change the site name, add common headers and footers for all
pages, and add a description of this gitweb installation on its main page
(which is the projects list page), etc.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">$site_name</dt>
<dd>
<p>Name of your site or organization, to appear in page titles.  Set it
to something descriptive for clearer bookmarks etc.  If this variable
is not set or is, then gitweb uses the value of the <code>SERVER_NAME</code>
<code>CGI</code> environment variable, setting site name to "$SERVER_NAME Git",
or "Untitled Git" if this variable is not set (e.g. if running gitweb
as standalone script).</p>
<div class="paragraph">
<p>Can be set using the <code>GITWEB_SITENAME</code> at build time.  Unset by default.</p>
</div>
</dd>
<dt class="hdlist1">$site_html_head_string</dt>
<dd>
<p>HTML snippet to be included in the &lt;head&gt; section of each page.
Can be set using <code>GITWEB_SITE_HTML_HEAD_STRING</code> at build time.
No default value.</p>
</dd>
<dt class="hdlist1">$site_header</dt>
<dd>
<p>Name of a file with HTML to be included at the top of each page.
Relative to the directory containing the <em>gitweb.cgi</em> script.
Can be set using <code>GITWEB_SITE_HEADER</code> at build time.  No default
value.</p>
</dd>
<dt class="hdlist1">$site_footer</dt>
<dd>
<p>Name of a file with HTML to be included at the bottom of each page.
Relative to the directory containing the <em>gitweb.cgi</em> script.
Can be set using <code>GITWEB_SITE_FOOTER</code> at build time.  No default
value.</p>
</dd>
<dt class="hdlist1">$home_text</dt>
<dd>
<p>Name of a HTML file which, if it exists, is included on the
gitweb projects overview page ("projects_list" view).  Relative to
the directory containing the gitweb.cgi script.  Default value
can be adjusted during build time using <code>GITWEB_HOMETEXT</code> variable.
By default set to <em>indextext.html</em>.</p>
</dd>
<dt class="hdlist1">$projects_list_description_width</dt>
<dd>
<p>The width (in characters) of the "Description" column of the projects list.
Longer descriptions will be truncated (trying to cut at word boundary);
the full description is available in the <em>title</em> attribute (usually shown on
mouseover).  The default is 25, which might be too small if you
use long project descriptions.</p>
</dd>
<dt class="hdlist1">$default_projects_order</dt>
<dd>
<p>Default value of ordering of projects on projects list page, which
means the ordering used if you don&#8217;t explicitly sort projects list
(if there is no "o" CGI query parameter in the URL).  Valid values
are "none" (unsorted), "project" (projects are by project name,
i.e. path to repository relative to <code>$projectroot</code>), "descr"
(project description), "owner", and "age" (by date of most current
commit).</p>
<div class="paragraph">
<p>Default value is "project".  Unknown value means unsorted.</p>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="_changing_gitwebs_behavior">Changing gitweb&#8217;s behavior</h3>
<div class="paragraph">
<p>These configuration variables control <em>internal</em> gitweb behavior.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">$default_blob_plain_mimetype</dt>
<dd>
<p>Default mimetype for the blob_plain (raw) view, if mimetype checking
doesn&#8217;t result in some other type; by default "text/plain".
Gitweb guesses mimetype of a file to display based on extension
of its filename, using <code>$mimetypes_file</code> (if set and file exists)
and <code>/etc/mime.types</code> files (see <strong>mime.types</strong>(5) manpage; only
filename extension rules are supported by gitweb).</p>
</dd>
<dt class="hdlist1">$default_text_plain_charset</dt>
<dd>
<p>Default charset for text files. If this is not set, the web server
configuration will be used.  Unset by default.</p>
</dd>
<dt class="hdlist1">$fallback_encoding</dt>
<dd>
<p>Gitweb assumes this charset when a line contains non-UTF-8 characters.
The fallback decoding is used without error checking, so it can be even
"utf-8". The value must be a valid encoding; see the <strong>Encoding::Supported</strong>(3pm)
man page for a list. The default is "latin1", aka. "iso-8859-1".</p>
</dd>
<dt class="hdlist1">@diff_opts</dt>
<dd>
<p>Rename detection options for git-diff and git-diff-tree. The default is
('-M'); set it to ('-C') or ('-C', '-C') to also detect copies,
or set it to () i.e. empty list if you don&#8217;t want to have renames
detection.</p>
<div class="paragraph">
<p><strong>Note</strong> that rename and especially copy detection can be quite
CPU-intensive.  Note also that non Git tools can have problems with
patches generated with options mentioned above, especially when they
involve file copies ('-C') or criss-cross renames ('-B').</p>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="_some_optional_features_and_policies">Some optional features and policies</h3>
<div class="paragraph">
<p>Most of features are configured via <code>%feature</code> hash; however some of extra
gitweb features can be turned on and configured using variables described
below.  This list beside configuration variables that control how gitweb
looks does contain variables configuring administrative side of gitweb
(e.g. cross-site scripting prevention; admittedly this as side effect
affects how "summary" pages look like, or load limiting).</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">@git_base_url_list</dt>
<dd>
<p>List of Git base URLs.  These URLs are used to generate URLs
describing from where to fetch a project, which are shown on
project summary page.  The full fetch URL is "<code>$git_base_url/$project</code>",
for each element of this list. You can set up multiple base URLs
(for example one for <code>git://</code> protocol, and one for <code>http://</code>
protocol).</p>
<div class="paragraph">
<p>Note that per repository configuration can be set in <code>$GIT_DIR/cloneurl</code>
file, or as values of multi-value <code>gitweb.url</code> configuration variable in
project config.  Per-repository configuration takes precedence over value
composed from <code>@git_base_url_list</code> elements and project name.</p>
</div>
<div class="paragraph">
<p>You can setup one single value (single entry/item in this list) at build
time by setting the <code>GITWEB_BASE_URL</code> build-time configuration variable.
By default it is set to (), i.e. an empty list.  This means that gitweb
would not try to create project URL (to fetch) from project name.</p>
</div>
</dd>
<dt class="hdlist1">$projects_list_group_categories</dt>
<dd>
<p>Whether to enable the grouping of projects by category on the project
list page. The category of a project is determined by the
<code>$GIT_DIR/category</code> file or the <code>gitweb.category</code> variable in each
repository&#8217;s configuration.  Disabled by default (set to 0).</p>
</dd>
<dt class="hdlist1">$project_list_default_category</dt>
<dd>
<p>Default category for projects for which none is specified.  If this is
set to the empty string, such projects will remain uncategorized and
listed at the top, above categorized projects.  Used only if project
categories are enabled, which means if <code>$projects_list_group_categories</code>
is true.  By default set to "" (empty string).</p>
</dd>
<dt class="hdlist1">$prevent_xss</dt>
<dd>
<p>If true, some gitweb features are disabled to prevent content in
repositories from launching cross-site scripting (XSS) attacks.  Set this
to true if you don&#8217;t trust the content of your repositories.
False by default (set to 0).</p>
</dd>
<dt class="hdlist1">$maxload</dt>
<dd>
<p>Used to set the maximum load that we will still respond to gitweb queries.
If the server load exceeds this value then gitweb will return
"503 Service Unavailable" error.  The server load is taken to be 0
if gitweb cannot determine its value.  Currently it works only on Linux,
where it uses <code>/proc/loadavg</code>; the load there is the number of active
tasks on the system&#8201;&#8212;&#8201;processes that are actually running&#8201;&#8212;&#8201;averaged
over the last minute.</p>
<div class="paragraph">
<p>Set <code>$maxload</code> to undefined value (<code>undef</code>) to turn this feature off.
The default value is 300.</p>
</div>
</dd>
<dt class="hdlist1">$omit_age_column</dt>
<dd>
<p>If true, omit the column with date of the most current commit on the
projects list page. It can save a bit of I/O and a fork per repository.</p>
</dd>
<dt class="hdlist1">$omit_owner</dt>
<dd>
<p>If true prevents displaying information about repository owner.</p>
</dd>
<dt class="hdlist1">$per_request_config</dt>
<dd>
<p>If this is set to code reference, it will be run once for each request.
You can set parts of configuration that change per session this way.
For example, one might use the following code in a gitweb configuration
file</p>
<div class="listingblock">
<div class="content">
<pre>our $per_request_config = sub {
        $ENV{GL_USER} = $cgi-&gt;remote_user || "gitweb";
};</pre>
</div>
</div>
<div class="paragraph">
<p>If <code>$per_request_config</code> is not a code reference, it is interpreted as boolean
value.  If it is true gitweb will process config files once per request,
and if it is false gitweb will process config files only once, each time it
is executed.  True by default (set to 1).</p>
</div>
<div class="paragraph">
<p><strong>NOTE</strong>: <code>$my_url</code>, <code>$my_uri</code>, and <code>$base_url</code> are overwritten with their default
values before every request, so if you want to change them, be sure to set
this variable to true or a code reference effecting the desired changes.</p>
</div>
<div class="paragraph">
<p>This variable matters only when using persistent web environments that
serve multiple requests using single gitweb instance, like mod_perl,
FastCGI or Plackup.</p>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="_other_variables">Other variables</h3>
<div class="paragraph">
<p>Usually you should not need to change (adjust) any of configuration
variables described below; they should be automatically set by gitweb to
correct value.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">$version</dt>
<dd>
<p>Gitweb version, set automatically when creating gitweb.cgi from
gitweb.perl. You might want to modify it if you are running modified
gitweb, for example</p>
<div class="listingblock">
<div class="content">
<pre>our $version .= " with caching";</pre>
</div>
</div>
<div class="paragraph">
<p>if you run modified version of gitweb with caching support.  This variable
is purely informational, used e.g. in the "generator" meta header in HTML
header.</p>
</div>
</dd>
<dt class="hdlist1">$my_url</dt>
<dt class="hdlist1">$my_uri</dt>
<dd>
<p>Full URL and absolute URL of the gitweb script;
in earlier versions of gitweb you might have need to set those
variables, but now there should be no need to do it.  See
<code>$per_request_config</code> if you need to set them still.</p>
</dd>
<dt class="hdlist1">$base_url</dt>
<dd>
<p>Base URL for relative URLs in pages generated by gitweb,
(e.g. <code>$logo</code>, <code>$favicon</code>, <code>@stylesheets</code> if they are relative URLs),
needed and used <em>&lt;base href="$base_url"&gt;</em> only for URLs with nonempty
PATH_INFO.  Usually gitweb sets its value correctly,
and there is no need to set this variable, e.g. to $my_uri or "/".
See <code>$per_request_config</code> if you need to override it anyway.</p>
</dd>
</dl>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_configuring_gitweb_features">CONFIGURING GITWEB FEATURES</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Many gitweb features can be enabled (or disabled) and configured using the
<code>%feature</code> hash.  Names of gitweb features are keys of this hash.</p>
</div>
<div class="paragraph">
<p>Each <code>%feature</code> hash element is a hash reference and has the following
structure:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>"&lt;feature-name&gt;" =&gt; {
        "sub" =&gt; &lt;feature-sub-(subroutine)&gt;,
        "override" =&gt; &lt;allow-override-(boolean)&gt;,
        "default" =&gt; [ &lt;options&gt;... ]
},</pre>
</div>
</div>
<div class="paragraph">
<p>Some features cannot be overridden per project.  For those
features the structure of appropriate <code>%feature</code> hash element has a simpler
form:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>"&lt;feature-name&gt;" =&gt; {
        "override" =&gt; 0,
        "default" =&gt; [ &lt;options&gt;... ]
},</pre>
</div>
</div>
<div class="paragraph">
<p>As one can see it lacks the 'sub' element.</p>
</div>
<div class="paragraph">
<p>The meaning of each part of feature configuration is described
below:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">default</dt>
<dd>
<p>List (array reference) of feature parameters (if there are any),
used also to toggle (enable or disable) given feature.</p>
<div class="paragraph">
<p>Note that it is currently <strong>always</strong> an array reference, even if
feature doesn&#8217;t accept any configuration parameters, and 'default'
is used only to turn it on or off.  In such case you turn feature on
by setting this element to [<code>1</code>], and torn it off by setting it to
[<code>0</code>].  See also the passage about the "blame" feature in the "Examples"
section.</p>
</div>
<div class="paragraph">
<p>To disable features that accept parameters (are configurable), you
need to set this element to empty list i.e. [].</p>
</div>
</dd>
<dt class="hdlist1">override</dt>
<dd>
<p>If this field has a true value then the given feature is
overridable, which means that it can be configured
(or enabled/disabled) on a per-repository basis.</p>
<div class="paragraph">
<p>Usually given "&lt;feature&gt;" is configurable via the <code>gitweb.</code><em>&lt;feature&gt;</em>
config variable in the per-repository Git configuration file.</p>
</div>
<div class="paragraph">
<p><strong>Note</strong> that no feature is overridable by default.</p>
</div>
</dd>
<dt class="hdlist1">sub</dt>
<dd>
<p>Internal detail of implementation.  What is important is that
if this field is not present then per-repository override for
given feature is not supported.</p>
<div class="paragraph">
<p>You wouldn&#8217;t need to ever change it in gitweb config file.</p>
</div>
</dd>
</dl>
</div>
<div class="sect2">
<h3 id="_features_in_feature">Features in <code>%feature</code></h3>
<div class="paragraph">
<p>The gitweb features that are configurable via <code>%feature</code> hash are listed
below.  This should be a complete list, but ultimately the authoritative
and complete list is in gitweb.cgi source code, with features described
in the comments.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">blame</dt>
<dd>
<p>Enable the "blame" and "blame_incremental" blob views, showing for
each line the last commit that modified it; see <a href="git-blame.html">git-blame(1)</a>.
This can be very CPU-intensive and is therefore disabled by default.</p>
<div class="paragraph">
<p>This feature can be configured on a per-repository basis via
repository&#8217;s <code>gitweb.blame</code> configuration variable (boolean).</p>
</div>
</dd>
<dt class="hdlist1">snapshot</dt>
<dd>
<p>Enable and configure the "snapshot" action, which allows user to
download a compressed archive of any tree or commit, as produced
by <a href="git-archive.html">git-archive(1)</a> and possibly additionally compressed.
This can potentially generate high traffic if you have large project.</p>
<div class="paragraph">
<p>The value of 'default' is a list of names of snapshot formats,
defined in <code>%known_snapshot_formats</code> hash, that you wish to offer.
Supported formats include "tgz", "tbz2", "txz" (gzip/bzip2/xz
compressed tar archive) and "zip"; please consult gitweb sources for
a definitive list.  By default only "tgz" is offered.</p>
</div>
<div class="paragraph">
<p>This feature can be configured on a per-repository basis via
repository&#8217;s <code>gitweb.snapshot</code> configuration variable, which contains
a comma separated list of formats or "none" to disable snapshots.
Unknown values are ignored.</p>
</div>
</dd>
<dt class="hdlist1">grep</dt>
<dd>
<p>Enable grep search, which lists the files in currently selected
tree (directory) containing the given string; see <a href="git-grep.html">git-grep(1)</a>.
This can be potentially CPU-intensive, of course.  Enabled by default.</p>
<div class="paragraph">
<p>This feature can be configured on a per-repository basis via
repository&#8217;s <code>gitweb.grep</code> configuration variable (boolean).</p>
</div>
</dd>
<dt class="hdlist1">pickaxe</dt>
<dd>
<p>Enable the so called pickaxe search, which will list the commits
that introduced or removed a given string in a file.  This can be
practical and quite faster alternative to "blame" action, but it is
still potentially CPU-intensive.  Enabled by default.</p>
<div class="paragraph">
<p>The pickaxe search is described in <a href="git-log.html">git-log(1)</a> (the
description of <code>-S</code><em>&lt;string&gt;</em> option, which refers to pickaxe entry in
<a href="gitdiffcore.html">gitdiffcore(7)</a> for more details).</p>
</div>
<div class="paragraph">
<p>This feature can be configured on a per-repository basis by setting
repository&#8217;s <code>gitweb.pickaxe</code> configuration variable (boolean).</p>
</div>
</dd>
<dt class="hdlist1">show-sizes</dt>
<dd>
<p>Enable showing size of blobs (ordinary files) in a "tree" view, in a
separate column, similar to what <code>ls</code> <code>-l</code> does; see description of
<code>-l</code> option in <a href="git-ls-tree.html">git-ls-tree(1)</a> manpage.  This costs a bit of
I/O.  Enabled by default.</p>
<div class="paragraph">
<p>This feature can be configured on a per-repository basis via
repository&#8217;s <code>gitweb.showSizes</code> configuration variable (boolean).</p>
</div>
</dd>
<dt class="hdlist1">patches</dt>
<dd>
<p>Enable and configure "patches" view, which displays list of commits in email
(plain text) output format; see also <a href="git-format-patch.html">git-format-patch(1)</a>.
The value is the maximum number of patches in a patchset generated
in "patches" view.  Set the <em>default</em> field to a list containing single
item of or to an empty list to disable patch view, or to a list
containing a single negative number to remove any limit.
Default value is 16.</p>
<div class="paragraph">
<p>This feature can be configured on a per-repository basis via
repository&#8217;s <code>gitweb.patches</code> configuration variable (integer).</p>
</div>
</dd>
<dt class="hdlist1">avatar</dt>
<dd>
<p>Avatar support.  When this feature is enabled, views such as
"shortlog" or "commit" will display an avatar associated with
the email of each committer and author.</p>
<div class="paragraph">
<p>Currently available providers are <strong>"gravatar"</strong> and <strong>"picon"</strong>.
Only one provider at a time can be selected (<em>default</em> is one element list).
If an unknown provider is specified, the feature is disabled.
<strong>Note</strong> that some providers might require extra Perl packages to be
installed; see <code>gitweb/INSTALL</code> for more details.</p>
</div>
<div class="paragraph">
<p>This feature can be configured on a per-repository basis via
repository&#8217;s <code>gitweb.avatar</code> configuration variable.</p>
</div>
<div class="paragraph">
<p>See also <code>%avatar_size</code> with pixel sizes for icons and avatars
("default" is used for one-line like "log" and "shortlog", "double"
is used for two-line like "commit", "commitdiff" or "tag").  If the
default font sizes or lineheights are changed (e.g. via adding extra
CSS stylesheet in <code>@stylesheets</code>), it may be appropriate to change
these values.</p>
</div>
</dd>
<dt class="hdlist1">email-privacy</dt>
<dd>
<p>Redact e-mail addresses from the generated HTML, etc. content.
This obscures e-mail addresses retrieved from the author/committer
and comment sections of the Git log.
It is meant to hinder web crawlers that harvest and abuse addresses.
Such crawlers may not respect robots.txt.
Note that users and user tools also see the addresses as redacted.
If Gitweb is not the final step in a workflow then subsequent steps
may misbehave because of the redacted information they receive.
Disabled by default.</p>
</dd>
<dt class="hdlist1">highlight</dt>
<dd>
<p>Server-side syntax highlight support in "blob" view.  It requires
<code>$highlight_bin</code> program to be available (see the description of
this variable in the "Configuration variables" section above),
and therefore is disabled by default.</p>
<div class="paragraph">
<p>This feature can be configured on a per-repository basis via
repository&#8217;s <code>gitweb.highlight</code> configuration variable (boolean).</p>
</div>
</dd>
<dt class="hdlist1">remote_heads</dt>
<dd>
<p>Enable displaying remote heads (remote-tracking branches) in the "heads"
list.  In most cases the list of remote-tracking branches is an
unnecessary internal private detail, and this feature is therefore
disabled by default.  <a href="git-instaweb.html">git-instaweb(1)</a>, which is usually used
to browse local repositories, enables and uses this feature.</p>
<div class="paragraph">
<p>This feature can be configured on a per-repository basis via
repository&#8217;s <code>gitweb.remote_heads</code> configuration variable (boolean).</p>
</div>
</dd>
</dl>
</div>
<div class="paragraph">
<p>The remaining features cannot be overridden on a per project basis.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">search</dt>
<dd>
<p>Enable text search, which will list the commits which match author,
committer or commit text to a given string; see the description of
<code>--author</code>, <code>--committer</code> and <code>--grep</code> options in <a href="git-log.html">git-log(1)</a>
manpage.  Enabled by default.</p>
<div class="paragraph">
<p>Project specific override is not supported.</p>
</div>
</dd>
<dt class="hdlist1">forks</dt>
<dd>
<p>If this feature is enabled, gitweb considers projects in
subdirectories of project root (basename) to be forks of existing
projects.  For each project <code>$projname.git</code>, projects in the
<code>$projname/</code> directory and its subdirectories will not be
shown in the main projects list.  Instead, a '+' mark is shown
next to <code>$projname</code>, which links to a "forks" view that lists all
the forks (all projects in <code>$projname/</code> subdirectory).  Additionally
a "forks" view for a project is linked from project summary page.</p>
<div class="paragraph">
<p>If the project list is taken from a file (<code>$projects_list</code> points to a
file), forks are only recognized if they are listed after the main project
in that file.</p>
</div>
<div class="paragraph">
<p>Project specific override is not supported.</p>
</div>
</dd>
<dt class="hdlist1">actions</dt>
<dd>
<p>Insert custom links to the action bar of all project pages.  This
allows you to link to third-party scripts integrating into gitweb.</p>
<div class="paragraph">
<p>The "default" value consists of a list of triplets in the form
("<em>&lt;label&gt;</em>", "<em>&lt;link&gt;</em>", "<em>&lt;position&gt;</em>") where "position" is the label
after which to insert the link, "link" is a format string where <code>%n</code>
expands to the project name, <code>%f</code> to the project path within the
filesystem (i.e. "$projectroot/$project"), <code>%h</code> to the current hash
('h' gitweb parameter) and <code>%b</code> to the current hash base
('hb' gitweb parameter); <code>%%</code> expands to '%'.</p>
</div>
<div class="paragraph">
<p>For example, at the time this page was written, the <a href="https://repo.or.cz" class="bare">https://repo.or.cz</a>
Git hosting site set it to the following to enable graphical log
(using the third party tool <strong>git-browser</strong>):</p>
</div>
<div class="listingblock">
<div class="content">
<pre>$feature{'actions'}{'default'} =
        [ ('graphiclog', '/git-browser/by-commit.html?r=%n', 'summary')];</pre>
</div>
</div>
<div class="paragraph">
<p>This adds a link titled "graphiclog" after the "summary" link, leading to
<code>git-browser</code> script, passing <code>r=</code><em>&lt;project&gt;</em> as a query parameter.</p>
</div>
<div class="paragraph">
<p>Project specific override is not supported.</p>
</div>
</dd>
<dt class="hdlist1">timed</dt>
<dd>
<p>Enable displaying how much time and how many Git commands it took to
generate and display each page in the page footer (at the bottom of
page).  For example the footer might contain: "This page took 6.53325
seconds and 13 Git commands to generate."  Disabled by default.</p>
<div class="paragraph">
<p>Project specific override is not supported.</p>
</div>
</dd>
<dt class="hdlist1">javascript-timezone</dt>
<dd>
<p>Enable and configure the ability to change a common time zone for dates
in gitweb output via JavaScript.  Dates in gitweb output include
authordate and committerdate in "commit", "commitdiff" and "log"
views, and taggerdate in "tag" view.  Enabled by default.</p>
<div class="paragraph">
<p>The value is a list of three values: a default time zone (for if the client
hasn&#8217;t selected some other time zone and saved it in a cookie), a name of cookie
where to store selected time zone, and a CSS class used to mark up
dates for manipulation.  If you want to turn this feature off, set "default"
to empty list: [].</p>
</div>
<div class="paragraph">
<p>Typical gitweb config files will only change starting (default) time zone,
and leave other elements at their default values:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>$feature{'javascript-timezone'}{'default'}[0] = "utc";</pre>
</div>
</div>
<div class="paragraph">
<p>The example configuration presented here is guaranteed to be backwards
and forward compatible.</p>
</div>
<div class="paragraph">
<p>Time zone values can be "local" (for local time zone that browser uses), "utc"
(what gitweb uses when JavaScript or this feature is disabled), or numerical
time zones in the form of "+/-HHMM", such as "+0200".</p>
</div>
<div class="paragraph">
<p>Project specific override is not supported.</p>
</div>
</dd>
<dt class="hdlist1">extra-branch-refs</dt>
<dd>
<p>List of additional directories under "refs" which are going to
be used as branch refs. For example if you have a gerrit setup
where all branches under refs/heads/ are official,
push-after-review ones and branches under refs/sandbox/,
refs/wip and refs/other are user ones where permissions are
much wider, then you might want to set this variable as
follows:</p>
<div class="listingblock">
<div class="content">
<pre>$feature{'extra-branch-refs'}{'default'} =
        ['sandbox', 'wip', 'other'];</pre>
</div>
</div>
<div class="paragraph">
<p>This feature can be configured on per-repository basis after setting
$feature{<em>extra-branch-refs</em>}{<em>override</em>} to true, via repository&#8217;s
<code>gitweb.extraBranchRefs</code> configuration variable, which contains a
space separated list of refs. An example:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>[gitweb]
        extraBranchRefs = sandbox wip other</pre>
</div>
</div>
<div class="paragraph">
<p>The gitweb.extraBranchRefs is actually a multi-valued configuration
variable, so following example is also correct and the result is the
same as of the snippet above:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>[gitweb]
        extraBranchRefs = sandbox
        extraBranchRefs = wip other</pre>
</div>
</div>
<div class="paragraph">
<p>It is an error to specify a ref that does not pass "git check-ref-format"
scrutiny. Duplicated values are filtered.</p>
</div>
</dd>
</dl>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_examples">EXAMPLES</h2>
<div class="sectionbody">
<div class="paragraph">
<p>To enable blame, pickaxe search, and snapshot support (allowing "tar.gz" and
"zip" snapshots), while allowing individual projects to turn them off, put
the following in your GITWEB_CONFIG file:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>$feature{'blame'}{'default'} = [1];
$feature{'blame'}{'override'} = 1;

$feature{'pickaxe'}{'default'} = [1];
$feature{'pickaxe'}{'override'} = 1;

$feature{'snapshot'}{'default'} = ['zip', 'tgz'];
$feature{'snapshot'}{'override'} = 1;</pre>
</div>
</div>
<div class="paragraph">
<p>If you allow overriding for the snapshot feature, you can specify which
snapshot formats are globally disabled. You can also add any command-line
options you want (such as setting the compression level). For instance, you
can disable Zip compressed snapshots and set <strong>gzip</strong>(1) to run at level 6 by
adding the following lines to your gitweb configuration file:</p>
</div>
<div class="literalblock">
<div class="content">
<pre>$known_snapshot_formats{'zip'}{'disabled'} = 1;
$known_snapshot_formats{'tgz'}{'compressor'} = ['gzip','-6'];</pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_bugs">BUGS</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Debugging would be easier if the fallback configuration file
(<code>/etc/gitweb.conf</code>) and environment variable to override its location
(<em>GITWEB_CONFIG_SYSTEM</em>) had names reflecting their "fallback" role.
The current names are kept to avoid breaking working setups.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_environment">ENVIRONMENT</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The location of per-instance and system-wide configuration files can be
overridden using the following environment variables:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">GITWEB_CONFIG</dt>
<dd>
<p>Sets location of per-instance configuration file.</p>
</dd>
<dt class="hdlist1">GITWEB_CONFIG_SYSTEM</dt>
<dd>
<p>Sets location of fallback system-wide configuration file.
This file is read only if per-instance one does not exist.</p>
</dd>
<dt class="hdlist1">GITWEB_CONFIG_COMMON</dt>
<dd>
<p>Sets location of common system-wide configuration file.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_files">FILES</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1">gitweb_config.perl</dt>
<dd>
<p>This is default name of per-instance configuration file.  The
format of this file is described above.</p>
</dd>
<dt class="hdlist1">/etc/gitweb.conf</dt>
<dd>
<p>This is default name of fallback system-wide configuration
file.  This file is used only if per-instance configuration
variable is not found.</p>
</dd>
<dt class="hdlist1">/etc/gitweb-common.conf</dt>
<dd>
<p>This is default name of common system-wide configuration
file.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_see_also">SEE ALSO</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="gitweb.html">gitweb(1)</a>, <a href="git-instaweb.html">git-instaweb(1)</a></p>
</div>
<div class="paragraph">
<p><em>gitweb/README</em>, <em>gitweb/INSTALL</em></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_git">GIT</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Part of the <a href="git.html">git(1)</a> suite</p>
</div>
</div>
</div>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-08-25 14:46:08 -0700
</div>
</div>
</body>
</html>