subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache subversion Wiki <>
Subject [Subversion Wiki] Trivial Update of "InheritedProperties" by pburba
Date Tue, 11 Sep 2012 14:37:29 GMT
Dear Wiki user,

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

The "InheritedProperties" page has been changed by pburba:

Tweak wording re 'what is property inheritance' to align better with the actual API changes.

  = Property Inheritance =
  == Background ==
@@ -9, +8 @@

  Some ideas on how we might make versioned properties inheritable.
  === What Is Property Inheritance? ===
- Property inheritance is a mechanism by which a versioned property set on a given path applies
also to that path's path-wise descendants.
+ Property inheritance provides a mechanism to find the versioned properties set on the path-wise
parents of a given path.  Conversely it can be viewed as a mechanism by which a versioned
property set on a given path also applies to that path's children.
  === What's Driving This? ===
  Desire for some form of inherited properties has existed almost from the dawn of Subversion.
 This latest effort is in response to a recent proposal regarding [[ServerDictatedConfiguration|Server
Dictated Configuration]] (see  That proposal
made use of a new mechanism by which server dictated configurations (notably auto-props and
global-ignores) would be communicated from the server to the client.  In the feedback on the
proposal several people pointed out that versioned properties provide a possible alternative
solution (and that the TortoiseSVN project was already using pseudo-inheritable properties
to address some of the same problems -- see
Despite its origins in the server defined configuration work, this wiki describes only a generic
inheritable properties design (''though my the ultimate goal is to use these inheritable properties
to implement the server dictated configuration feature -- pburba'').
@@ -94, +93 @@

  A child path that inherits a property from its parent may not have ready access to that
parent in the working copy (e.g. the root of the working copy is a subtree of the parent path).
 To ensure that traditionally disconnected operations (i.e. those that require no access to
the repository, like 'svn add') remain disconnected, we will maintain a cache of properties
inherited by the root of the working copy. Whenever a new working copy is checked out, any
properties inherited by the root of the working copy will be cached in the working copy. 
If a subtree within a working copy is switched, a separate cache will be created for the root
of that subtree.  Whenever an update occurs the cache(s) will be refreshed.
  The cache will be stored in a new wc-ng table:
- ||||||||||<tablewidth="978px" tableheight="324px"style="font-weight:bold;           
   ;text-align:center">TABLE: INHERITABLE_PROPS ||
+ ||||||||||<tablewidth="978px" tableheight="324px"style="font-weight:bold;           
    ;text-align:center">TABLE: INHERITABLE_PROPS ||
  ||<style="font-weight:bold;">Name ||<style="font-weight:bold;">Data Type ||<style="font-weight:bold;">Primary
Key ||<style="font-weight:bold;">Foreign Key ||<style="font-weight:bold;">Notes
  ||wc_id ||integer ||Yes ||References NODES.WC_ID || ||
  ||local_relpath ||text ||Yes ||References NODES.LOCAL_RELPATH || ||

View raw message