Dear Wiki user,

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

The "Inheritable-Ignores-AutoProps" page has been changed by pburba:
http://wiki.apache.org/subversion/Inheritable-Ignores-AutoProps?action=diff&rev1=5&rev2=6

Comment:
Add some info about svn:inheritable-ignores

  There really isn't anything particularly "server dictated" about this design 
at all.  It started life as an alternative approach to the server dictated 
configuration ideas described in 
http://wiki.apache.org/subversion/ServerDictatedConfiguration and as such a 
quick read of that original design is suggested.  If you've already read that a 
lot of this will sound familiar since the goals are essentially the same.
  }}}
  === Behavioral Specification ===
- New Subversion reserved properties with the prefix 
"svn:inheritable-*"<<FootNote(Prefer "svn:config-*" or some other option?  
Don't worry, it's not too late to paint the bike shed a new color)>> will 
provide additional configuration information that overrides/extends the 
settings found in the user's run-time configuration.  Initially there will be 
only one such property "svn:inheritable-auto-props".  This property will (no 
surprise!) override/extend the auto-props configuration settings which dictate 
the properties which are automatically set  on newly added or imported files.  
Unlike traditional auto-props, which can be disabled in the run-time config 
(i.e. "enable-auto-props = no"), svn:inheritable-auto-props cannot be disabled 
by a well-behaved client.
+ New Subversion reserved properties with the prefix 
"svn:inheritable-*"<<FootNote(Prefer "svn:config-*" or some other option?  
Don't worry, it's not too late to paint the bike shed a new color)>> will 
provide additional configuration information that overrides/extends the 
settings found in the user's run-time configuration.  Initially there will be 
two such properties "svn:inheritable-auto-props" and "svn:inheritable-ignores".
+ 
+ This "svn:inheritable-auto-props" property will (no surprise!) 
override/extend the auto-props configuration settings which dictate the 
properties which are automatically set  on newly added or imported files.  
Unlike traditional auto-props, which can be disabled in the run-time config 
(i.e. "enable-auto-props = no"), svn:inheritable-auto-props cannot be disabled 
by a well-behaved client.
+ 
+ The "svn:inheritable-ignores" property will extend the global-ignores 
configuration settings and the existing svn:ignore property, both of which 
define file patterns that are ignored by the svn status, import, and add 
subcommands. Like svn:inheritable-auto-props, svn:inheritable-ignores cannot be 
disregarded by a well-behaved client.
  
  {{{#!wiki warning
  "Well-Behaved Clients" and "Trust, But Verify"
@@ -25, +29 @@

  The values of the svn:inheritable-auto-props property are as per the existing 
run-time configuration auto-props, they contain "any number of key-value pairs 
in the format ''PATTERN'' = ''PROPNAME''=''VALUE''[;''PROPNAME''=''VALUE''...], 
where ''PATTERN'' is a file pattern that matches one or more filenames and the 
rest of the line is a semicolon-delimited set of property assignments. (If you 
need to use a semicolon in your property's name or value, you can escape it by 
doubling it.)")<<FootNote(Thank you 'Version Control with Subversion' book, 
http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.advanced.confarea)>>
  
  Like the svn:ignore property it only makes sense to set 
svn:inheritable-auto-props on directories, so attempts to propset the latter on 
a file will fail.
+ 
+ === Ignores Format ===
+ The values for the svn:inheritable-ignores property are per the format of 
configuration defined global-ignores: A whitespace-delimited collection of file 
patterns.  Like svn:inheritable-auto-props, the svn:inheritable-ignores 
property can only be set on directories.
  
  === Auto-Props Hierarchy and Precedence ===
  Any path added to the working copy or imported to the repository must have a 
previously versioned parent. Both the svn:inheritable-auto-props explicitly set 
on that parent and the properties inherited by that parent, in addition to the 
run-time configuration auto-props, will determine the auto-props for the 
added/imported files under the versioned parent.  Where the auto-prop values 
'''for the same file pattern''' conflict there are a few simple rules:
@@ -98, +105 @@

  {{{#!wiki warning
  If multiple patterns, defined at different levels (i.e. the run-time config 
and multiple parent's svn:inheritable-auto-props) all match a given file, then, 
like multiple matching patterns within the run-time config, there is no 
guarantee that auto-props will be applied in any particular order.  One rule 
only overrides another rule if they have the exact same pattern.
  }}}
+ === Ignores "Heirarchy" ===
+ The ignores property in effect for a given path are the sum of the ignore 
patterns found in:
  
+  1. The global-ignores section of the runtime configuration.
+  1. Any svn:inherited-ignores properties explicitly set on, or inherited by, 
the path.
+  1. The svn:ignore property, if any, set on the path's immediate parent.
+ 
+ There is no actual heirarchy among these ignore sources,  the patterns found 
in each are simply combined, they do do not override each other. If a 
subcommand is passed the --no-ignore option, then #1 and #3 are not considered.
+ 

Reply via email to