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=22&rev2=23

Comment:
Remove statement which is now false in light of the latest proposed APIs.

        [1] By actual tree I mean the topmost (i.e. MAX(op_depth)) version of 
the node in the WC, pretty much the same thing your 2nd footnote means(?).  I 
thought we differentiated actual vs. working such that the former included 
property and text changes?
  }}}
   1. Note an important implication of #2 and #3: Unlike svn:mergeinfo, a child 
path with the svn:inheritable:X property explicitly set on it can also inherit 
the svn:inheritable:X property from a parent.  Our default approach will be for 
child values to simply override parent values (exactly how svn:mergeinfo works 
today).  However, the APIs will support getting both explicit and/or  inherited 
property values.  So it's possbile that child values might append to parent 
values or more complex merging of properties may be performed based on the 
specific property.
-  1. Unlike svn:mergeinfo, the property value a child inherits from a parent 
will not be modified based on the path-difference between the parent and child. 
 The property value on the parent is the value the child will inherit.  There 
are no plans to provide an API which reveals the specific parent path a child 
inherits from.
+  1. Unlike svn:mergeinfo, the property value a child inherits from a parent 
will not be modified based on the path-difference between the parent and child. 
 The property value on the parent is the value the child will inherit.
   1. While setting inheritable properties on a file has no meaning from the 
standpoint of inheritance, the property still applies to the file itself.  Thus 
there will be no prohibitions on setting inheritable properties on files.
   1. If a child path which inherits a property is copied, the inherited  
properties are not copied with it.  The new destination path inherits  
properties from its new parents.  This means that depending on the copy  
destination the new path may or may not inherit the same property, and  even if 
it does, it may inherit a different value. This puts the onus on  users to set 
their inheritable properties as close to the root of the  repository tree as 
makes sense for the property in question.  Have a  property you want to apply 
to the whole repository?  Set it on the root.   Want it to apply only to a 
single project?  Set it on the root of the  project. Note that if a path has an 
inheritable property '''''explicitly''''' set on it, the property is copied 
just like any other versioned property.
  
@@ -86, +86 @@

  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 || ||
@@ -94, +94 @@

  ||repos_parent_path ||text ||Yes ||-- ||Location of parent with one or more 
inheritable properties relative the the repository root. ||
  ||revision ||integer ||-- ||-- ||Revision of repos_parent_path. ||
  ||inheritable_props ||blob ||-- ||-- ||The parent's inheritable properties. ||
- 
- 
  
  
  

Reply via email to