Den ons 19 apr. 2023 kl 11:44 skrev sebb <seb...@gmail.com>:

> I've seen some crashes in SVN where the target does not have the expected
> type.
>

Both asserts also on a recent trunk build, so at least it isn't resolved
yet.


>
> For example:
>
> $ svn info https://www.apache.org/foundation/records/990-2016.pdf
> svn: E235000: In file
>
> '/build/subversion-owKwd0/subversion-1.13.0/subversion/libsvn_client/util.c'
> line 96: assertion failed
> (svn_uri__is_ancestor(pathrev->repos_root_url, url))
> Aborted (core dumped)
>

The same assert has been reported previously (
https://lists.apache.org/thread/s24v9f8klx8pwn9lk0oqxng1cpxg12vw) although
with a different use case.

>From what I can see in GDB, Subversion seems to be able to open a WebDAV
session with www.apache.org. It asks for the
DAV:version-controlled-configuration which seems to return
https://www.apache.org/repos/asf. Now, since
https://www.apache.org/foundation/records/ is not a child of
https://www.apache.org/repos/asf it triggers an assert.

Is it correct that https://www.apache.org/foundation/records/ responds to
WebDAV commands, and why does it reply with https://www.apache.org/repos/asf
?

I'm leaning towards an incorrect server configuration.

$ svn pl -v https://dist.apache.org/repos/dist/dev/whimsy/test.txt
> Properties on 'https://dist.apache.org/repos/dist/dev/whimsy/test.txt':
>   svn:eol-style
>     native
>
> $ svn ps svn:mime-type text/plain
> https://dist.apache.org/repos/dist/dev/whimsy/test.txt
> svn: E235000: In file
>
> '/build/subversion-owKwd0/subversion-1.13.0/subversion/libsvn_subr/dirent_uri.c'
> line 1634: assertion failed (! svn_path_is_url(relative))
> Aborted (core dumped)
>

Setting a versioned property on a URL is not supported if I'm reading the
SVN Book correctly (
https://svnbook.red-bean.com/en/1.7/svn-book.html#svn.ref.svn.c.propset).
It is obviously wrong to hit an assertion, there should be an error message
instead if trying to operate on a URL. I did a very quick sketch and it
seems easy enough (a few lines of code in propset-cmd.c), but it is getting
too late to get it into style and run all testcases tonight.

Feel free to add this as an issue in JIRA.

For the record, if someone else sees this thread. svnmucc should be the
correct tool in this case, it will create a new revision adding the
versioned property to the URL target.

Kind regards,
Daniel

Reply via email to