Network Model
At some point, you’re going to need to understand how your
Subversion client communicates with its server. Subversion’s networking
layer is abstracted, meaning that Subversion clients exhibit the same
general behaviors no matter what sort of server they are operating
against. Whether speaking the HTTP protocol (http://
) with the Apache HTTP Server or speaking
the custom Subversion protocol (svn://
) with
svnserve, the basic network model is the same. In this section, we’ll
explain the basics of that network model, including how Subversion manages
authentication and authorization matters.
Requests and Responses
The Subversion client spends most of its time managing working copies. When it needs information from a remote repository, however, it makes a network request, and the server responds with an appropriate answer. The details of the network protocol are hidden from the user—the client attempts to access a URL, and depending on the URL scheme, a particular protocol is used to contact the server (see the sidebar Repository URLs).
Tip
Run svn --version
to see which URL schemes and protocols the client knows
how to use.
When the server process receives a client request, it often demands that the client identify itself. It issues an authentication challenge to the client, and the client responds by providing credentials back to the server. Once authentication is complete, the server responds with the original information that the client asked for. Notice that this system ...
Get Version Control with Subversion, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.