From 831469ba89ea8bca3bfbd1d662dbdd2c9f233798 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 12 Sep 2011 15:37:55 -0400
Subject: [PATCH] Largely completed, uber-cool federation feature.

---
 distrib/gitblit.properties |  182 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 173 insertions(+), 9 deletions(-)

diff --git a/distrib/gitblit.properties b/distrib/gitblit.properties
index 93b306a..ebdd0b0 100644
--- a/distrib/gitblit.properties
+++ b/distrib/gitblit.properties
@@ -22,7 +22,7 @@
 # Allow push/pull over http/https with JGit servlet.
 # If you do NOT want to allow Git clients to clone/push to Gitblit set this
 # to false.  You might want to do this if you are only using ssh:// or git://.
-# If you set this false, consider changing the [web.otherUrls] setting to
+# If you set this false, consider changing the *web.otherUrls* setting to
 # indicate your clone/push urls.
 #
 # SINCE 0.5.0
@@ -78,10 +78,10 @@
 # SINCE 0.5.0
 web.siteName =
 
-# If web.authenticateAdminPages=true, users with "admin" role can create
+# If *web.authenticateAdminPages*=true, users with "admin" role can create
 # repositories, create users, and edit repository metadata.
 #
-# If web.authenticateAdminPages=false, any user can execute the aforementioned
+# If *web.authenticateAdminPages*=false, any user can execute the aforementioned
 # functions. 
 #
 # SINCE 0.5.0 
@@ -96,6 +96,19 @@
 #
 # SINCE 0.5.0
 web.syndicationEntries = 25
+
+# Show the size of each repository on the repositories page.
+# This requires recursive traversal of each repository folder.  This may be
+# non-performant on some operating systems and/or filesystems. 
+#
+# SINCE 0.5.2
+web.showRepositorySizes = true
+
+# Show federation registrations (without token) and the current pull status
+# to non-administrator users. 
+#
+# SINCE 0.6.0
+web.showFederationRegistrations = false
 
 # This is the message display above the repositories table.
 # This can point to a file with Markdown content.
@@ -113,20 +126,39 @@
 # RESTART REQUIRED
 web.useClientTimezone = false
 
-# Date and Time formats
-# http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
+# Short date format
+# <http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html>
 #
 # SINCE 0.5.0
 web.datestampShortFormat = yyyy-MM-dd
+
+# Long timestamp format
+# <http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html>
+#
+# SINCE 0.5.0
 web.datetimestampLongFormat = EEEE, MMMM d, yyyy h:mm a z
 
-# Mount parameters
-# true: http://localhost/commit/myrepo/abcdef
-# false: http://localhost/commit/?r=myrepo&h=abcdef
+# Mount URL parameters
+# This setting controls if pretty or parameter URLs are used.
+# i.e.
+# if true:
+#     http://localhost/commit/myrepo/abcdef
+# if false:
+#     http://localhost/commit/?r=myrepo&h=abcdef
 #
 # SINCE 0.5.0
 # RESTART REQUIRED
 web.mountParameters = true
+
+# Some servlet containers (e.g. Tomcat >= 6.0.10) disallow '/' (%2F) encoding
+# in URLs as a security precaution for proxies.  This setting tells Gitblit
+# to preemptively replace '/' with '*' or '!' for url string parameters.
+#
+# <https://issues.apache.org/jira/browse/WICKET-1303>
+# <http://tomcat.apache.org/security-6.html>
+#
+# SINCE 0.5.2
+web.forwardSlashCharacter = /
 
 # Show other URLs on the summary page for accessing your git repositories
 # Use spaces to separate urls. {0} is the token for the repository name.
@@ -240,6 +272,134 @@
 regex.myrepository.bug = \\b(Bug:)(\\s*[#]?|-){0,1}(\\d+)\\b!!!<a href="http://elsewhere/bug/$3">Bug-Id: $3</a>
 
 #
+# Mail Settings
+# SINCE 0.6.0
+#
+# Mail settings are used to notify administrators of received federation proposals
+#
+
+# ip or hostname of smtp server
+#
+# SINCE 0.6.0
+mail.server =
+
+# port to use for smtp requests
+#
+# SINCE 0.6.0
+mail.port = 25
+
+# debug the mail executor
+#
+# SINCE 0.6.0
+mail.debug = false
+
+# if your smtp server requires authentication, supply the credentials here
+#
+# SINCE 0.6.0
+mail.username =
+mail.password =
+
+# from address for generated emails
+#
+# SINCE 0.6.0
+mail.fromAddress = 
+
+# Space-separated list of email addresses for the Gitblit administrators
+#
+# SINCE 0.6.0
+mail.adminAddresses = 
+
+#
+# Federation Settings
+# SINCE 0.6.0
+#
+# A Gitblit federation is a way to backup one Gitblit instance to another.
+#
+# *git.enableGitServlet* must be true to use this feature.
+
+#
+# Control whether or not this Gitblit instance can receive federation proposals
+# from another Gitblit instance.  Registering a federated Gitblit is a manual
+# process.  Proposals help to simplify that process by allowing a remote Gitblit
+# instance to send your Gitblit instance the federation pull data.
+#
+# SINCE 0.6.0
+federation.allowProposals = false
+
+# The destination folder for cached federation proposals.
+# Use forward slashes even on Windows!!
+#
+# SINCE 0.6.0
+federation.proposalsFolder = proposals
+
+# The default pull frequency if frequency is unspecified on a registration
+#
+# SINCE 0.6.0
+federation.defaultFrequency = 60 mins
+
+# Specify the unique id of this Gitblit instance.
+#
+# An unspecified (empty) uuid disables procesing federation requests.
+#
+# This value can be anything you want: an integer, a sentence, an haiku, etc.
+# Keep the value simple, though, to avoid Java properties file encoding issues.
+#
+# Changing your uuid will break any registrations you have established with other
+# Gitblit instances.
+#
+# CASE-SENSITIVE
+# SINCE 0.6.0
+# RESTART REQUIRED
+federation.uuid =
+
+# Your federation name is used for federation status acknowledgments.  If it is
+# unset, and you elect to send a status acknowledgment, your Gitblit instance
+# will be identified by its hostname, if available, else your internal ip address.
+# The source Gitblit instance will also append your external IP address to your
+# identification to differentiate multiple pulling systems behind a single proxy.
+#
+# SINCE 0.6.0
+federation.name = 
+
+# Federation pull registrations
+# Registrations are read once, at startup.
+#
+# RESTART REQUIRED
+#
+# frequency:
+#   The shortest frequency allowed is every 5 minutes
+#   Decimal frequency values are cast to integers
+#   Frequency values may be specified in mins, hours, or days
+#   Values that can not be parsed default to *federation.defaultFrequency*
+#
+# folder:
+#   if blank, the folder is *git.repositoriesFolder*
+#   if specified, the folder is relative to *git.repositoriesFolder*
+#
+# mergeAccounts:
+#   if true, remote accounts and their permissions are merged into your 
+#   users.properties file 
+#
+# notifyOnError:
+#   if true and the mail configuration is properly set, administrators will be
+#   notified by email of pull failures
+#
+# include and exclude:
+#   space-separated list of repositories to include or exclude from pull
+#   may be * wildcard to include or exclude all
+#   may use fuzzy match (e.g. org.eclipse.*)
+
+#
+# (Nearly) Perfect Mirror example
+#
+
+#federation.example1.url = https://go.gitblit.com
+#federation.example1.token = 6f3b8a24bf970f17289b234284c94f43eb42f0e4
+#federation.example1.frequency = 120 mins
+#federation.example1.folder = 
+#federation.example1.mergeAccounts = true
+
+#
 # Server Settings
 #
 
@@ -256,16 +416,20 @@
 server.useNio = true
 
 # Standard http port to serve.  <= 0 disables this connector.
+# On Unix/Linux systems, ports < 1024 require root permissions.
+# Recommended value: 80 or 8080
 #
 # SINCE 0.5.0
 # RESTART REQUIRED
 server.httpPort = 0
 
 # Secure/SSL https port to serve. <= 0 disables this connector.
+# On Unix/Linux systems, ports < 1024 require root permissions.
+# Recommended value: 443 or 8443
 #
 # SINCE 0.5.0
 # RESTART REQUIRED
-server.httpsPort = 443
+server.httpsPort = 8443
 
 # Specify the interface for Jetty to bind the standard connector.
 # You may specify an ip or an empty value to bind to all interfaces.

--
Gitblit v1.9.1