On Wed, Jun 20, 2012 at 2:48 PM, C. Michael Pilato <cmpil...@collab.net> wrote:
>...
> Can you at least then give a quick review on this approach for a more proper
> fix?  I've not tested it ... just trying to see if I can grok your new
> magical XML handling stuff (which is pretty sweet, by the way!)

Thanks.

Your patch is a great start, but won't quite work.

Let's step back and look at the actual server response:

<D:propstat>
<D:prop>
<g0:sha1-checksum/>
</D:prop>
<D:status>HTTP/1.1 404 Not Found</D:status>
</D:propstat>

A new transition table entry needs to be made for PROPSTAT -> STATUS
(and a new state!). When you leave the STATUS state, capture the cdata
onto the PROPSTAT state using note(). When you exit the PROPVAL state,
then you need to "gather" all attributes/notes from the current
PROPVAL up to the PROPSTAT, where you recorded the status line.

I might suggest that you parse the status line just once, and only put
a note on when you're supposed to ignore the value. Something like:

svn_ra_serf__xml_note(xes, PROPSTAT, "ignore-props", "*");

Cheers,
-g

Reply via email to