From df162cdbdfeb5fbf5500546c9783e1685be6980f Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 04 Jan 2012 08:42:54 -0500
Subject: [PATCH] Federation pull_scripts request. Documentation.

---
 docs/02_federation.mkd |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/docs/02_federation.mkd b/docs/02_federation.mkd
index 6525000..0aaae4f 100644
--- a/docs/02_federation.mkd
+++ b/docs/02_federation.mkd
@@ -13,7 +13,7 @@
 
 ### Important Changes to Note
 
-The *Gitblit 0.8.0* federation protocol adds retrieval of team definitions.  Older clients will not know to request team information. 
+The *Gitblit 0.8.0* federation protocol adds retrieval of teams and referenced push scripts.  Older clients will not know to request team or push script information. 
 
 The *Gitblit 0.7.0* federation protocol is incompatible with the 0.6.0 federation protocol because of a change in the way timestamps are formatted.
 
@@ -54,7 +54,7 @@
 String repositoriesToken = SHA1(passphrase + "-REPOSITORIES");
 %ENDCODE%
     
-The *ALL* token allows another Gitblit instance to pull all your repositories, user accounts, and server settings.  
+The *ALL* token allows another Gitblit instance to pull all your repositories, user accounts, server settings, and referenced push scripts.  
 The *USERS_AND_REPOSITORIES* token allows another Gitblit instance to pull all your repositories and  user accounts.  
 The *REPOSITORIES* token only allows pulling of the repositories.
 
@@ -173,9 +173,17 @@
 
 These settings are unused by the pulling Gitblit instance.
 
+#### Push Scripts 
+
+Your Groovy push scripts are only pulled when using the *ALL* token.
+
+The pulling Gitblit instance will retrieve any referenced (i.e. used) push script and store it locally as *registration_scriptName.groovy* in the *federation.N.folder* folder.
+
+These scripts are unused by the pulling Gitblit instance.
+
 ### Collisions and Conflict Resolution
 
-Gitblit does **not** detect conflict and it does **not** offer conflict resolution of repositories, users, or settings.
+Gitblit does **not** detect conflict and it does **not** offer conflict resolution of repositories, users, teams, or settings.
 
 If an object exists locally that has the same name as the remote object, it is assumed they are the same and the contents of the remote object are merged into the local object.  If you can not guarantee that this is the case, then you should not store any federated repositories directly in *git.repositoriesFolder* and you should not enable *mergeAccounts*.
 
@@ -250,9 +258,9 @@
 
 This assumes that the *token* is the *ALL* token from the origin gitblit instance.
 
-The repositories, example1_users.conf, and example1_gitblit.properties will be put in *git.repositoriesFolder* and the origin user accounts will be merged into the local user accounts, including passwords and all roles.  The Gitblit instance will also send a status acknowledgment to the origin Gitblit instance at the end of the pull operation.  The status report will include the state of each repository pull (EXCLUDED, SKIPPED, NOCHANGE, PULLED, MIRRORED).  This way the origin Gitblit instance can monitor the health of its mirrors.
+The repositories, example1_users.conf, example1_gitblit.propertiesn and all example1_scripts.groovy will be put in *git.repositoriesFolder* and the origin user accounts will be merged into the local user accounts, including passwords and all roles.  The Gitblit instance will also send a status acknowledgment to the origin Gitblit instance at the end of the pull operation.  The status report will include the state of each repository pull (EXCLUDED, SKIPPED, NOCHANGE, PULLED, MIRRORED).  This way the origin Gitblit instance can monitor the health of its mirrors.
 
-This example is considered *nearly* perfect because while the origin Gitblit's server settings are pulled and saved locally, they are not merged with your server settings so its not a true mirror, but its likely the mirror you'd want to configure.
+This example is considered *nearly* perfect because while the origin Gitblit's server settings & push scripts are pulled and saved locally, they are not merged with your server settings so its not a true mirror.
 
     federation.example1.url = https://go.gitblit.com
     federation.example1.token = 6f3b8a24bf970f17289b234284c94f43eb42f0e4

--
Gitblit v1.9.1