The RA layer encapsulates the choice of URL scheme (file://, svn://, and http://) so the client and server logics don't need to worry about it.
svnserve opens its own sockets, but with libsvn_ra_serf the syscalls happen in a dependency library (serf). Bo Chen wrote on Thu, Mar 28, 2013 at 11:11:15 -0400: > I am just starting to investigate into the source code of SVN. > > Can you please give me more introductions for it. In my previous > experiences for network communication, I can simply establish a network > connection, and send the information to the server via the socket, and that > is it. Why SVN is so complicated for it, e.g., depends on the RA layer? > > Thanks. > > Bo > > On Thu, Mar 28, 2013 at 10:56 AM, Daniel Shahaf <danie...@elego.de> wrote: > > > Bo Chen wrote on Thu, Mar 28, 2013 at 10:53:24 -0400: > > > I am struggling to locate the source code by which the SVN client can > > > transfer the delta to the server upon a commit operation. Can anyone give > > > me some hints for it, e.g., which source file file is responsible to > > > transferring the delta (after the delta has been computed) to the server > > ? > > > > > > > That depends on the RA layer. Look in libsvn_ra_* for the > > "apply_textdelta" function in the commit editor. > > > > Is that the answer you were looking for? > > > > Daniel > > > > > Thanks for help. > > > > > > Bo > >