subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Branko ─îibej <br...@apache.org>
Subject Re: auto-props syntax in file vs. property
Date Thu, 22 Feb 2018 13:10:24 GMT
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

Mime
View raw message