"Bert Huijben" <b...@qqmail.nl> writes:

> The commandline parser +- ignores every error it gets from
> svn_client_get_repos_root(), telling you that it failed to obtain a
> repository root.
>
> And redirects were just added as nice feature for during svn update.

E175011 has the wrong name, the DAV layer knows nothing about relocation
which is a libsvn_client concept so SVN_ERR_RA_DAV_RELOCATED should have
been SVN_ERR_RA_DAV_REDIRECTED.  It's too late to change that now but I
suppose we could change the error text and add SVN_ERR_RA_DAV_REDIRECTED
as an alias for SVN_ERR_RA_DAV_RELOCATED.

> (And you really don't want to know how you got the 'nice' error in 1.8 /
> trunk before the recent patches... It was somewhere halfway doing a http-v1
> protocol handshake on the pre-redirect location, after leaving an ra-session
> in an dangling state after the initial open operation)

It's not a connection to mod_dav_svn but it is a working HTTP
connection.  It can be used to send requests and receive responses and
any attempt to use the connection would give the redirect URL.

> Getting a better message here, requires a better implementation in svn-s
> commandline argument processing. It should ask for redirect information and
> then use that to inform the user.

All the client needs to do is display the error: e.g. using trunk:

$ svnmucc -mm mkdir http://localhost:8888/obj/PERM/repo/A
svnmucc: E170013: Unable to connect to a repository at URL 
'http://localhost:8888/obj/PERM/repo'
svnmucc: E175011: Repository moved permanently to 
'http://localhost:8888/obj/repo'; please relocate

(aside from the spurious reference to relocate which should not be part
of the DAV error anyway).

But we now need to vet everywhere that a connection is opened to ensure
that the error gets displayed.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

Reply via email to