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

Re: Request for information to do svn hacking

From: Ben Collins-Sussman <sussman_at_red-bean.com>
Date: 2007-04-15 14:42:46 CEST

On 4/15/07, Gerold J. Wucherpfennig <gjwucherpfennig@gmx.net> wrote:
> Hi,
>
> I'd like to improve the svn client for windows,
> but I need some information about the svn internals to do so
>
> 1. How is the order of filenames determined for
> svn checkouts and updates and commits etc.?

It's not deterministic. Directory entries are loaded into a
hashtable, then the hashtable is iterated over. This means the
directory entries within a particualr directory are processed in an
unpredictable order (although we always do depth-first processing.)
This fact is true both when processing directory entries in the
working copy, as well as when processing them in the repository.

>
> 2. How does "svn_ra_do_update" works internally?
> Is there a plugin mechanism which loads the do_update
> functions of either libsvn_ra_dav, libsvn_ra_local or libsvn_ra_serf?

libsvn_ra is a generic 'loader' module that parses the URL scheme and
decides to load libsvn_ra_dav, libsvn_ra_local, or libsvn_ra_svn.
(libsvn_ra_serf is mutually exclusive with libsvn_ra_dav, and must be
selected at compile-time by the 'configure' command.)

svn_ra.h describes the generic network interface implemented by all
libsvn_ra* libraries.

>
> (3. why are no authors in the sources, but only "CollabNet"?)

We consider it bad practice to put authors in sources, because it
encourages territoriality. The authors live in the COMMITTERS file,
and by running 'svn log' and 'svn blame', you can see who wrote what.

CollabNet started the project 7 years ago, so they held the copyright
on most of the original code. We're busy working on gathering
contributer license agreements right now, much like the ASF does.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Apr 15 14:43:03 2007

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.