On Sun, Nov 18, 2012 at 9:50 PM, Julian Foad <julianf...@btopenworld.com> wrote: > 'svn propset' lets us create any property name 'svn:foo', with good reason: > we want old clients to be able to set and edit properties that only the newer > clients know about. However, there is a pitfall for unwary users: it's east > to mis-spell a prop name and not notice. For example: > > svn:ignores > svn:global-ignore > > are both mis-spellings. > > It would seem reasonable to require '--force' to set an unknown 'svn:' > property name. Note that we already require '--force' to set a known > svn:something property to an invalid value. > > Proposal: > > For any unrecognized property name in the 'svn:' name space, these would bail > out with an error unless '--force' is given: > > svn pset svn:foo > svn pedit svn:foo
+1 Seems totally reasonable. While working on svn:global-ignores, I had a moment of "why isn't svn:gobal-ignore working?" during some ad hoc testing. > and all other subcommands where properties are handled would continue to work > as normal, no '--force' needed, including: > > svn pdel svn:foo > svn pget svn:foo > svn plist > svn patch, merge, diff, checkout, update, switch, ... > > Rationale notes: > > 'propset' would bail out even if the property already exists. One reason for > this is so that multi-target or 'recursive' mode doesn't have to do anything > special if the property exists on only some of the targets. > > 'pset' is the only one that really needs 'force' to meet the needs of this > proposal. If a property already exists then it's probably best to assume > that it exists on purpose, so we could argue that there is little harm in > allowing 'pedit' and 'pdel'. Currently, 'pset' and 'pedit' require '--force' > to set an invalid *value* for a known property (such as 'svn pset > svn:eol-style x'); pdel doesn't take a '--force' option and intentionally > allows properties with invalid values to be deleted. An advantage in > discouraging 'svn pedit svn:foo' is that it can't validate the value if it > doesn't know anything about 'svn:foo'. For these reasons and for consistency > with the value-checking, the proposal has both 'pset' and 'pedit' validate > the name, but not 'pdel'. > > > Thoughts, objections? > > - Julian > > > > -- > Subversion Live 2012 - 2 Days: training, networking, demos & more! > http://bit.ly/NgUaRi > Certified & Supported Apache Subversion Downloads: > http://www.wandisco.com/subversion/download > -- Paul T. Burba CollabNet, Inc. -- www.collab.net -- Enterprise Cloud Development Skype: ptburba