Hi Ben,
Ben Collins-Sussman wrote:
> Patrick Mayweg <mayweg@qint.de> writes:
>
> > Hi Ben,
>
> Hi Patrick, I'm keeping this on the dev list.
>
> > > This part of libsvn_ra_dav is parsing an <update-report> coming from
> > > the server, in particular, the <open-directory> tag. The xml "name"
> > > attribute is not optional in the report language... so either the
> > > report is very messed up, or the server truncated something.
> >
> > It seems to be optional sometimes. On the top level directory there is no name
> > attribute. I this it is checked by
> > if (rb->dirs->nelts == 0)
> >
> > I think there are some </open-directory> or </add-directory> elements missing.
> > I get a rb->dirs->nelt of 5.
>
> Ah, right, all update-reports begin with an editor->open_root() call,
> and it never has a name. That function call just looks like a single
> <open-directory rev="-1"> at the very beginning of every report.
>
> > > What we need from you is:
> > >
> > > 1. a reproduction recipe, if possible
> > >
> > > 2. an ethereal trace of the http session, so we can see the xml in
> > > the protocol. (Make sure that you set "http-compression" to "no"
> > > in your ~/.subversion/servers file before doing the capture.)
> >
> > It happens all the time, when I checkout our own sources. The ethereal trace
> > file is 14MB big. The checkout took almost 1 hour run localy before it
> > crashed. Since the software in the repository is not open source, I would like
> > to debug it myself.
> >
> > I just would need some pointers, how to proceed.
>
> Look at the ethereal trace. In particular, look for the first REPORT
> request in the dialogue. The response should look something like
>
> <?xml version="1.0" encoding="utf-8"?>
> <S:update-report xmlns:S="svn:" xmlns:V="http://subversion.tigris.org/xmlns/dav/" xmlns:D="DAV:">
> <S:target-revision rev="6140"/>
> <S:open-directory rev="-1">
> <D:checked-in><D:href>/repos/svn/!svn/ver/6139/trunk</D:href></D:checked-in>
> <S:add-file name="PORTING">
> <D:checked-in><D:href>/repos/svn/!svn/ver/4371/trunk/PORTING</D:href></D:checked-in>
> <S:prop><D:version-name>4371</D:version-name><D:creationdate>2003-01-13T22:43:13.497183Z</D:creationdate><D:creator-displayname>rassilon</D:creator-displayname><V:md5-checksum>29328d669a77512152bd9deb6ae42ffe</V:md5-checksum></S:prop>
> </S:add-file>
> <S:add-file name="Makefile.in">
> <D:checked-in><D:href>/repos/svn/!svn/ver/6103/trunk/Makefile.in</D:href></D:checked-in>
> <S:prop><D:version-name>6103</D:version-name><D:creationdate>2003-05-31T07:09:55.218056Z</D:creationdate><D:creator-displayname>jerenkrantz</D:creator-displayname><V:md5-checksum>881edf8cf9805495d703eaa91914e7f6</V:md5-checksum></S:prop>
> </S:add-file>
> <S:add-directory name="ac-helpers">
> <D:checked-in><D:href>/repos/svn/!svn/ver/5158/trunk/ac-helpers</D:href></D:checked-in>
> <S:add-file name="install.sh">
> <D:checked-in><D:href>/repos/svn/!svn/ver/4371/trunk/ac-helpers/install.sh</D:href></D:checked-in>
> <S:prop><D:version-name>4371</D:version-name><D:creationdate>2003-01-13T22:43:13.497183Z</D:creationdate><D:creator-displayname>rassilon</D:creator-displayname><V:md5-checksum>0f9b86b887b3e2c7676524bbe7a68bbf</V:md5-checksum></S:prop>
> </S:add-file>
>
> ... and so on. Assuming that you're using svn 0.23 or later on both
> client and server, then you should never see any <open-directory> tags
> at all, other than the very first one. The report should only contain
> <add-director> or <add-file> commands.
I am using on the client r 6139 (almost HEAD of trunk) and on the server 0.23. The first REPORT reply looked like it should. I am getting an read error out of neon (0.23.9) which I am checking right now.
Regards,
Patrick
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Jun 4 16:52:27 2003