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

Re: invalid XML with svn log --xml

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: Mon, 28 Jul 2008 23:01:38 -0700

Bernhard Merkle wrote:
> Hi,
>
> I think the following is a bug or feature with SVN 1.5 svn log --xml
>
> The problem is that svn log --xml _partly_ emits xml in case of an error.
>
> 1. checkout with SVN 1.5
> 2. do a svn log --xml with SVN 1.4.6.
> 3. I know that the WC format had changed and this is an "invalid" operation,
> but look at the error msg below:
> It starts with putting out _some_ XML and then the error msgs, and then the
> XML is not valid </log>
>
> IMO, there should be NO xml at all in the case of an error. Better only
> issue the error msgs.
> Seems that starting the output is done _before_ the actual error checking...

That's exactly right. Logs (and lots of other data in Subversion) are returned
"streamily," meaning they are returned one at a time as they are found. Instead
of waiting for all the messages to be returned, the client outputs them
immediately as well, keeping memory use to a minimum.

I agree that it would be nice if --xml really meant XML output, even in the case
of an error, but checking for all errors before doing any output would lead to
an inefficient use of system resources, and also a perceived lack of output
while the logs were being retrieved. Both ideas are not viewed favorably by the
developers. However, it may be possible to improve the situation for some
classes of errors.

> C:\wcWith1.5SVNformat>c:\tools\bin32\Subversion1.4.6\bin\svn log
> --non-interactive --xml -v
> <?xml version="1.0"?>
> <log>
> svn: Der Client ist zu alt, um mit der Arbeitskopie ».« zusammen zu
> arbeiten;
> bitte besorgen Sie einen neueren Subversion-Client

In this case, the error is being printed on stderr, and the xml on stdout. It
should not be difficult to separate the two.

-Hyrum

Received on 2008-07-29 08:02:10 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.