On Thu, Oct 4, 2012 at 5:54 AM, C. Michael Pilato <cmpilato_at_collab.net> wrote:
> On 10/03/2012 03:39 PM, Mark Phippard wrote:
>> On Wed, Oct 3, 2012 at 10:51 AM, <cmpilato_at_apache.org> wrote:
>>> Author: cmpilato
>>> Date: Wed Oct 3 14:51:36 2012
>>> New Revision: 1393521
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1393521&view=rev
>>> Log:
>>> Use "svn:txn:" as the namespace for ephemeral txnprops, not
>>> "svn:txn-". I was operating under this memory of Subversion having
>>> trouble with colons in property names, but apparently that memory was
>>> either obsolete or altogether bogus.
>>
>> I was looking at the open Serf issues for 1.8 and saw this:
>>
>> http://subversion.tigris.org/issues/show_bug.cgi?id=1971
>>
>> Is that what you were remembering?
>>
>
> Yes, I believe it was. I remembered that PROPFINDs and PROPPATCHs use the
> property name as an XML tag, so we already require that property names be
> essentially well-formed XML "Names". The book mentions this, too:
>
> {{{
> There are some restrictions on the names you can use for properties. A
> property name must start with a letter, a colon (:), or an underscore (_);
> after that, you can also use digits, hyphens (-), and periods (.)
> }}}
>
> But a picky XML parser would see "svn:txn:foo" or "svn:config:foo" and want
> to know about the XML namespaces "svn:txn" and "svn:config", which we don't
> bother to describe. There's a fairly straightforward workaround, I think,
> where we simply generate xmlns definitions on the fly for all namespaces we
> need for that particular request/response. I think this is essentially what
> was being described here:
>
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=480154
I recall trying to do that and it wouldn't work. I do believe
namespaces is how we resolved it for svn:foo style properties. If
we're going to be doing svn:foo:bar style properties then we can
probably resolve it for svn:foo properties that way by adding a
namespace for them. As I recall there was no clean way to tell the
client what the namespace meant. Specifically how do you get from
randomnamespacename -> cvs2svn:cvs-rev. The places where we could put
that information had other character restrictions that made it
difficult.
Received on 2012-10-04 17:01:46 CEST