Hi,
After going through the sources of Subversion I have a request for the
client api.
It now contains functions which need batons (what is a baton???) and
typedefs
from apr headers. I think that's not really good. In my opinion an api
should be
usable independently. So handling batons and structs from apr should be
handled
internally by subversion and not be needed for the client api. Best would be
an API
with functions like the command line client offers (or do you think
subversion would
ever become a success if the command line clients would ask for batons and
structs?
No! You only enter there basic 'data types' like strings and numbers).
I suggest the following changes for the client api:
- instead of notify funtions and batons just use the notify functions
- handle the apr_pool_t *pool internally
- instead of the auth_baton use 'username' and 'password' - thats more
understandable
- avoid structs for the api, use the data of the struct directly (better
usability for clients
written in managed languages like java, c#, ...)
- if you use structs for the api, declare them inside the same header as the
functions.
I know, this mail will get many comments with all the same conclusion: 'do
it yourself'.
(happens almost every time I request something). But please keep in mind
that
since you don't provide a GUI-client and expect other to write such clients
then
you have to offer a 'good' API for the clients. If everyone who wants to
write a GUI
for using Subversion needs to dig deep and deeper into the subversion source
just
to find out all the parameters of the functions offered then many will give
up
(I'm very close to it). For example: I just spent 5 hours looking for all
structures used
in the functions in svn_client.h...
kind regards,
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Aug 25 19:40:52 2002