#
# GitBlit custom settings
#

# Disable GitBlit Git Server, as Gerrit already serves Git repositories
git.cacheRepositoryList = false
git.enableGitServlet = false
git.onlyAccessBareRepositories = true

# Allow the user of GitBlit cookie authentication for avoiding overload on
# Gerrit authentication every time that a repository is browsed
web.allowCookieAuthentication = true

# Requires users to authenticate against Gerrit before giving any access
web.authenticateViewPages = true

# Disable GitBlit Web administration, as it supposed to be made on Gerrit init
web.allowAdministration = false
web.authenticateAdminPages = true

# Disable the ability to fork a repository
web.allowForking = false

# Disable GitBlit RPC services
web.enableRpcServlet = false
web.enableRpcManagement = false
web.enableRpcAdministration = false

# Disable the 'mount' of GitBlit parameters in the URL, it would mess-up the
# Gerrit plugins URLs generation and parsing of them when Gerrit repos have '/'
# in their name. Additionally avoid the usage of URL-encoded '/' (%2F) as it may
# be automatically decoded by reverse proxies and then even forbidden for security
# reasons.
web.mountParameters = false

web.allowZipDownloads = true
web.compressedDownloads = zip gz
