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

Re: "svn" protocol - some explanations needed.

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2004-08-19 15:22:11 CEST

Alexander,

You're going at this problem a bit backwards. It seems that you're only
looking at the svn protocol itself, and trying to figure out how svn
works in general. What you need to understand is that the svn protocol
is a direct marshalling of the overall Repository Access (RA) API. You
need to read svn_ra.h and understand all of the "commands" that a client
can send to a server. svn_ra.h is fully documented. Of course, this
also means you'll have to read svn_delta.h, which explains the 'editor'
concept -- the main mechanism that client and server use to describe
tree-deltas to each other.

Once you understand svn_ra.h (there are 3 different implementations of
it for you to study), you'll see that the svn protocol is just one of
those implementations. In fact, it's the most "literal" implementation.

Alexander Kitaev wrote:
> Hello All,
>
> I'm writing a small java libray that implements "svn" protocol client. I'm
> using protocol documentation located at /subversion/libsvn_ra_svn/protocol
> file - as far as I understood it describes all the "svn" commands. So far
> I've managed to implement authorization, framework for "edit-mode" command
> processing, svndiff parsing and several simple commands like "get-last-rev"
> or "update". However I have several questions that I didn't find and an
> answer for in the svn documentation and mailing list:
>
> 1. report-mode
>
> What is the purpose of "delete-path" and "link-path" report-mode commands?
> When they should be used? I hope I do understand correctly, that "set-path"
> command describes server local workspace revision and root?
>
> 2. switch, diff, status commands
>
> What are the above commands for? What exactly their parameters means and
> what is the meaning of the commands received in the "edit-mode" by the
> client after the command sent to server? Isn't it enough to have only
> "update" command as it provides the similar output?
>
> 3. command parameters
>
> In the protocol documentation there are several terms used like "path",
> "target" and "url" as the names of command parameters. What is the different
> between those three types of parameter? For instance, I've managed to
> execute "update" command only with emty string "target" parameter and this
> is probably means that this parameter not what I think it is :)
>
> Thanks a lot in advance,
> Alexander Kitaev.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Aug 19 15:21:10 2004

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.