subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Subversion Wiki] Update of "ServerDictatedConfiguration" by CMichaelPilato
Date Thu, 01 Dec 2011 14:12:13 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Subversion Wiki" for change notification.

The "ServerDictatedConfiguration" page has been changed by CMichaelPilato:

As a starting point, merge the contents of ^/subversion/notes/repos-dictated-config into this

  == Design: Server-Dictated Configuration ==
+ Many software development shops of non-trivial size desire to have an enforce
+ a uniform configuration environment among the various clients which commit
+ to their repositories.  Although these shops may have the ability to control
+ the environment on the client machines (dictating software versions, etc),
+ relying upon the client for setting various configuration parameters can
+ be time-consuming and problematic.
+ Subversion already provides the means of enforcing much (but not all) of this
+ configuration through the hook script mechanism.  What our users desire is
+ some way of having the server dictate a default or recommended configuration
+ to clients.  The parameters of interest typically come from the standard
+ client-side config: things like global-excludes or auto-props.  Allowing the
+ administrator to store a default config on the server, which then gets pushed
+ to the clients, would save both time and frustration.
  === Goals ===
+ === Behavioral specification ===
+ The high-level behavior for repository-dictated configuration is relatively simple: the
repository maintains a list of configuration parameters and values, and upon request, provides
these to the client who then applies them appropriately.
+ It should be noted that the configuration the server dictates is only a *suggestion* to
the client.  Clients may choose to override the suggestion with a configuration of their own,
so appropriate server-side enforcement (often via hook scripts) is still recommended.
+ === Server-client transmission mechanism ===
+ As part of the OPTIONS request, the client will send to the server the sha1 hash of the
version of the server-dictated config that it current has cached.  If the server has a different
version, it will send that to the client in the OPTIONS response.
+ === Server-side storage ===
+ ''TODO''
+ === Client-side storage ===
+ The client current maintains a global configuration file in ~/.subversion/config  This feature
will introduce the ~/.subversion/repos/ directory, which will hold additional subdirectories
keyed on the UUID of the repository.  It is in this subdirectory that the cached version of
the repository configuration will be stored.
+ === Configuration Hierarchy ===
+ ''[TODO]''
  === Related Issues ===
@@ -16, +52 @@

  === Other Related Resources ===
-  * [[|^/subversion/notes/repos-dictated-config]]
   * [[|"Bikeshed: configuration override
order"]] list discussion
   * [[|"Repository-defined autoprops"]]
list discussion
   * [[|"Inherited properties document]]
list discussion

View raw message