subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Branko ─îibej <br...@apache.org>
Subject Re: Replacing directory by circular symlink produces malformed XML
Date Fri, 01 Mar 2019 11:08:41 GMT
On 01.03.2019 11:53, Stefan Sperling wrote:
> On Thu, Feb 28, 2019 at 10:44:25PM +0100, Denis Excoffier wrote:
>> Hello,
>>
>> The situation of the replacement of a directory by a circular symlink
>> generates an XML fragment which is invalid, hence triggers a failure
>> within the calling system. See hereafter the recipe.
>>
>> Starting from a clean folder, do the following:
>>
>> % svn mkdir 1
>> A         1
>> % rmdir 1
>> % ln -s 1 1
>> % touch 2
>> % svn status --xml
>> <?xml version="1.0" encoding="UTF-8"?>
>> <status>
>> <target
>>    path=".">
>> <entry
>>    path="1">
>> <wc-status
>>    item="obstructed"
>>    revision="-1"
>>    props="none">
>> </wc-status>
>> </entry>
>> svn: E000062: Can't open directory '/Users/dexco/svntest/svn/1': Too many levels
of symbolic links
>> %
>>
>> There is a missing end tag for <target> and <status>.
>> Another issue is missing output: path '2' is not listed.
>>
>> The correction of these issues will be much appreciated (i use 1.11.1).
>>
>> Regards,
>>
>> Denis Excoffier.
> Hi Denis,
>
> This problem is not specific to symbolic links.
> There are quite a few cases where --xml produces invalid XML
> when it runs into some kind of error. Perhaps the command
> line client should be fixed to close open XML tags when an
> error occurs, though this also risks people or scripts not
> noticing such errors.
>
> I suppose that, ideally, our XML output would embed errors
> inside the XML stream in a well-defined manner, as well as
> printing errors on stderr.
>
> So fixing this would require some non-trivial amount of effort.
> Would you have time and skills to work on this issue?

My advice is to leave well enough alone. Any callers of our tools
_should_ check the exit code before assuming that the output is valid.
Just streaming the output through a SAX parser isn't the best strategy.

-- Brane

Mime
View raw message