[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

client api not optimal

From: Ich selbst <ichselbst_at_gmx.ch>
Date: 2002-08-25 19:40:09 CEST


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
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
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
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
- 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

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
since you don't provide a GUI-client and expect other to write such clients
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
to find out all the parameters of the functions offered then many will give
(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,


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

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.