Markus Schaber wrote: > Hi, Bo, > > Von: Bo Chen [mailto:bo.irvine.c...@gmail.com] >> 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? > > The main reason is that SVN supports several different ways of accessing the > repository: > - The "http" and "https" protocols, handled alternatively > via "serf" or "neon" libraries. > - The custom "svn" protocol. > - Tunneling of the custom svn protocol through ssh or other external > communication tools. > - Direct, local repository access with "file" URLs (there is no > "server" involved in that case). > > The RA (Repository Access) layer abstracts those.
There's a nice system block diagram here: <http://svnbook.red-bean.com/en/1.7/svn.intro.whatis.html#svn.intro.architecture>. - Julian