Hi Brane,

thanks for the reply. Then I understand why it's acting the way it is. It would 
have been nicer with different separators for the two cases, but it is what it 
is and I agree that it works.
The downside is that my initial fix (earlier in this thread) for 
svn_apply_autoprops.py isn't correct since I need to prune the second ; before 
it calls propset. Need to try another fix then (unless someone has fixed that 
in the repo already)
/Chris


--------------------------------------------
On Thu, 2/22/18, Branko Čibej <br...@apache.org> wrote:

 Subject: Re: auto-props syntax in file vs. property
 To: users@subversion.apache.org
 Date: Thursday, February 22, 2018, 2:10 PM
 
 On 22.02.2018 13:52, Chris
 wrote:
 > Re-awakening my previous thread
 about the auto-properties. I get really confused by where to
 use ;; and ; as a separator.
 >
 > I currently have this in the auto-props on
 the repo:
 > *.txt =
 svn:mime-type=text/plain;;charset=iso-8859-1;svn:eol-style=LF
 >
 > And then if I add a
 text file:
 > prompt>  touch foo.txt;
 svn add foo.txt; svn pg svn:mime-type foo.txt
 > A         foo.txt
 >
 text/plain;charset=iso-8859-1
 
 More completely: an 'svn proplist -v'
 would show the folloing properties:
 
    
 svn:mime-type=text/plain;charset=iso-8859-1
     svn:eol-style=LF
 
 > So the property itself is with just one
 semicolon in there despite the auto-prop having ;;
 > Is this the correct behavior?
 
 Yes of course. In the
 auto-props configuration, a single colon separates
 individual properties. If you want a colon
 within a property value, you
 have to write
 ;; in the auto-props configuration to get the ; in the
 property value.
 
 If instead you'd had this auto-props
 configuration:
 
 *.txt =
 svn:mime-type=text/plain;charset=iso-8859-1;svn:eol-style=LF
 
 
 Then, when
 you added a file to Subversion, you'd get the
 following
 properties set:
 
    
 svn:mime-type=text/plain
    
 charset=iso-8859-1
     svn:eol-style=LF
 
 
 which is
 probably not what you want.
 
 
 > While if I to the same
 thing manually, i.e.
 >
 > prompt> touch foo; svn add foo; svn
 propset svn:mime-type
 "text/plain;;charset=iso-8859-1" foo; svn pg
 svn:mime-type foo
 > A         foo
 > property 'svn:mime-type' set on
 'foo'
 >
 text/plain;;charset=iso-8859-1
 >
 > That is, I'm passing in the exact
 string that I have in my auto-props into propset for a file
 without .txt-suffix so I don't get the auto-properties.
 But as you see in the resulting property that I now have has
 double semi-colons.
 
 On the
 command-line you can only set a singly property value at a
 time,
 so there's no need to escape the
 ';' delimiter.
 But the auto-props
 configuration isn't a single property; it's
 several
 properties, delimited with a single
 ';'.
 
 > My guess
 is that the former is the intended behavior and I should not
 be passing in the ";;" into the manual command,
 
 Yes.
 
 >  but
 I'm getting really confused here. I seems very
 error-prone that manual propset can't use the strings
 from the config file or auto-props wihtout getting a
 different result.
 >
 >
 Which version is the correct one, or do both actually do the
 job?
 
 Each does its
 job in its own context.
 
 --
 Brane
 

Reply via email to