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 <brane_at_apache.org> wrote:
Subject: Re: auto-props syntax in file vs. property
To: users_at_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
Received on 2018-02-22 15:28:45 CET