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