[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Replacing directory by circular symlink produces malformed XML

From: Stefan Sperling <stsp_at_elego.de>
Date: Fri, 1 Mar 2019 11:53:54 +0100

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?

Thanks,
Stefan
Received on 2019-03-01 11:54:22 CET

This is an archived mail posted to the Subversion Users mailing list.