subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache subversion Wiki <comm...@subversion.apache.org>
Subject [Subversion Wiki] Update of "InheritedProperties" by pburba
Date Tue, 11 Sep 2012 14:42:37 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:
http://wiki.apache.org/subversion/InheritedProperties?action=diff&rev1=37&rev2=38

Comment:
Clarification of the 'Differentiating 'Inheritable' Vs. 'Normal' Properties' section.

  }}}
  == Design ==
  === Differentiating 'Inheritable' Vs. 'Normal' Properties ===
- This is easy, there is no difference.  Versioned properties, both Subversion's reserved
properties and custom user properties, can be interpreted as inheritable, but otherwise will
function as they always have in terms of valid property names and values.
+ This is easy, there is no difference, there is no such thing as an "inheritable" property.
Versioned properties, both Subversion's reserved properties and custom user properties, can
be '''''interpreted '''''as inheritable, but otherwise function as they always have in terms
of repository storage, setting properties, valid property names and values, etc..
+ What is proposed here is a new way of looking at the familiar versioned property.  The only
differentiation that is important as far as the design is this: Is a property value '''''inherited
'''''or '''''explicit'''''?  A path may have  property 'PropName' explicitly set on it or
property values may be inherited by a child path from some parent path(s) which also have
'PropName' explicitly set on them.
  
  === Authentication ===
  The mergeinfo property can be inherited by any path the user has read access to,  even if
the user has no access to the parent path the inheritable  property is explicitly set on.
 Generic property inheritance will be more restrictive however: Properties can only be inherited
from paths which the user has read access to.
@@ -93, +94 @@

  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 || ||

Mime
View raw message