You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by Apache subversion Wiki <co...@subversion.apache.org> on 2012/09/11 16:37:29 UTC

[Subversion Wiki] Trivial Update of "InheritedProperties" by pburba

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=35&rev2=36

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

  = Property Inheritance =
- 
  <<TableOfContents>>
  
  == 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 http://svn.haxx.se/dev/archive-2012-01/0032.shtml).  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 http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-propertypage.html). 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 || ||