I've been trying to do things with the Subversion API without much
The underlying problem is that the API is utterly undocumented, except
for one or two trivial examples in the book.
I've figured out how to do a number of the "inspection" things by
staring at ViewVC, and/or using its routines. But that doesn't help
at all when I try to do "modification" things.
For example, I want to issue a "copy" operation through the API. The
obvious answer is to look in the "client" module, and sure enough,
there's a "copy". There is also a "copy2". But there is NO
documentation, none, nada, about what these do, what the parameters
Looking at the svn command line client is no help either, especially
since I want to use the Python API, not the C one.
The function documentation strings don't help; for one thing, they are
wrong. The copy/copy2 documentation strings (in 1.3.0) say that the
first argument is a svn_commit_info_t, whatever that means. But
experiments show that there isn't any such argument, and the first
argument is actually a pathname (documented as the second argument).
Ok, Brownian motion experiments as the way to discover the API is
doable, up to a point.
Finally I got what appeared to be a valid copy call, but then my
server rejected it because I had no commit log message. Sure enough.
And I can see no way to put one in. There seems to be an
svn_client_ctx_t argument, which by examination seems to have a
log_msg_func argument (as well as several other mysterious log_msg_xxx
arguments). But even after quite a lot of searching I could find no
way to create a log_msg_func argument, nor did I ever get the feeling
that, if I did, it would actually get me anywhere.
I finally gave up and used the svn command line to perform the
Is any of this stuff documented anywhere? Are there any plans to
document any of it? Right now the API effectively doesn't exist, as
far as I can see.
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Fri Mar 10 15:43:32 2006