You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Quinn Taylor <qu...@mac.com> on 2008/08/09 01:15:06 UTC

Sanity check of SVN library interaction

I'm preparing a presentation on Subversion for a local technical  
group, and have one slide that is attempting to explain some of the  
interaction between SVN components, client and server, especially in  
terms of the libraries (libsvn_*). The problem is, I haven't yet found  
much documentation about their interaction. (I looked in Chapter 8 of  
the book, which describes the functionality of the libraries, but not  
precisely who works with whom.)

I've captured what I understood, guessed at what I didn't, and have a  
PDF with the results. Specifically, I'm shaky on the file:// access  
model, and I'm not sure if any WebDAV clients actually use the  
webdav:// schema, so clarification there is especially appreciated.  
I'd love to get feedback on how to make this correct without making it  
overly complex. I won't be speaking to people who are going to rush  
out and tie into the API—I just want to provide a "big picture" of  
(roughly) how the system works.

Here is my PDF:

	http://dysart.cs.byu.edu/subversion-libraries.pdf

Text explanations will work fine. If you like, you can mark it up  
(preferably digitally) and email me a copy with explanation of why.  
Even tips on presentation are welcome. (The slide is built in Keynote,  
and I already have animations so it appears in stages.)

Thanks!
  - Quinn

Re: Sanity check of SVN library interaction

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Quinn Taylor wrote on Fri, 8 Aug 2008 at 19:15 -0600:
> I've captured what I understood, guessed at what I didn't, and have a PDF with
> the results. Specifically, I'm shaky on the file:// access model, and I'm not
> sure if any WebDAV clients actually use the webdav:// schema, so clarification
> there is especially appreciated. 

It's possible to read the repository with an HTTP client (any old
browser) and when autoversioning (Appendix C of the book) is enabled,
you can also write to it with a regular WebDAV client.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Sanity check of SVN library interaction

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Another small detail: client never calls libsvn_ra_foo directly; rather, 
client calls libsvn_ra which loads and calls the right libsvn_ra_foo based 
on the URL's scheme.  The gory details are in the source (ra-loader.c).

Quinn Taylor wrote on Sat, 9 Aug 2008 at 07:23 -0600:
> Thanks for the link to the diagram, that's almost precisely the information I
> was looking for.
> 
> I'll take a look at some of the libraries I missed. However, I intentionally
> left out fs_fs and bdb because it's more detail than they need to know.
> 
> Thanks,
> - Quinn
> 
> 
> On Aug 9, 2008, at 12:05 AM, Daniel Shahaf wrote:
> 
> > See http://subversion.tigris.org/images/subversion-diagram.png.  You've
> > missed a few important libraries: libsvn_{repos,neon,serf,fs_fs,bdb}.
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Sanity check of SVN library interaction

Posted by Quinn Taylor <qu...@mac.com>.
Thanks for the link to the diagram, that's almost precisely the  
information I was looking for.

I'll take a look at some of the libraries I missed. However, I  
intentionally left out fs_fs and bdb because it's more detail than  
they need to know.

Thanks,
  - Quinn


On Aug 9, 2008, at 12:05 AM, Daniel Shahaf wrote:

> See http://subversion.tigris.org/images/subversion-diagram.png.   
> You've
> missed a few important libraries: libsvn_{repos,neon,serf,fs_fs,bdb}.


Re: Sanity check of SVN library interaction

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Quinn Taylor wrote on Fri, 8 Aug 2008 at 19:15 -0600:
> I'm preparing a presentation on Subversion for a local technical group, and
> have one slide that is attempting to explain some of the interaction between
> SVN components, client and server, especially in terms of the libraries
> (libsvn_*). The problem is, I haven't yet found much documentation about their
> interaction. (I looked in Chapter 8 of the book, which describes the
> functionality of the libraries, but not precisely who works with whom.)
> 
> I've captured what I understood, guessed at what I didn't, and have a PDF with
> the results. Specifically, I'm shaky on the file:// access model, and I'm not
> sure if any WebDAV clients actually use the webdav:// schema, so clarification
> there is especially appreciated. I'd love to get feedback on how to make this
> correct without making it overly complex. I won't be speaking to people who
> are going to rush out and tie into the API—I just want to provide a "big
> picture" of (roughly) how the system works.
> 
> Here is my PDF:
> 
> 	http://dysart.cs.byu.edu/subversion-libraries.pdf
> 
> Text explanations will work fine. If you like, you can mark it up (preferably
> digitally) and email me a copy with explanation of why. Even tips on
> presentation are welcome. (The slide is built in Keynote, and I already have
> animations so it appears in stages.)
> 
> Thanks!
> - Quinn

See http://subversion.tigris.org/images/subversion-diagram.png.  You've
missed a few important libraries: libsvn_{repos,neon,serf,fs_fs,bdb}.