On 23.11.2012 18:09, Branko Čibej wrote:
> I agree that looking at the prefix is dicey, ...

... so I've tightened up the prefix matching so that --force is required
only when:

  * the prefix is exactly 3 letters long (propname[3] == ':');
  * and the first three letters differ in only one change from "svn"
      o this means, one replacement (e.g., "gvn" or "svm" or Svn", etc.)
      o or one transposition ("snv" or "nsv")
  * and if the rest of the property name following the colon exactly
    matches one of the known, user-visible property names.

If the prefix is exactly "svn:", then we'll require --force whenever the
property name is not known.

These rule will trip on

    svm:executable
    svn:exemutable

but not on

    svm:exemutable

I actually think the last case is a bit unfortunate, and would consider
allowing a one-letter difference in the property name and the prefix; so
that the last example would be flagged, but this would not:

    svm:ixemutable

I'm also considering requiring --force if one tries to use a revision
property name as a node property, and vice versa.

And I think it would be a good idea /not/ to suggest a different
spelling if the property name is too different from a know one.
Currently we'll get this:

$ svn ps svn:barfoo x .
svn: E195011: 'svn:barfoo' is not a valid svn: property name; did you mean 
'svn:group'?
(To set the 'svn:barfoo' property, re-run with '--force'.)

In this case the suggestion is clearly bogus.


-- Brane

-- 
Branko Čibej
Director of Subversion | WANdisco | www.wandisco.com

Reply via email to