On Sun, May 02, 2010 at 11:44:32PM +0200, Asier Marzo Pérez wrote:
> Hi,
>
> I'm really interested in knowing more details of commit/update
> machanism, I've read several times this website
> http://svn.apache.org/repos/asf/subversion/trunk/notes/subversion-design.html
> and the information is really interesting but in some steps there is a
> lack of details or not enough information for my pourporses (I comment
> them in the end).
> The problem is that there is some important information left:
> **When is the diff made?
> **What diff is saved: reverse or foreward?
> **Who applies the diff when a not key revision is required?
This may give you a better idea of how it works:
http://www.red-bean.com/kfogel/beautiful-code/bc-chapter-02.html
It describes the interface used by Subversion to transmit
changes between server and client.
We're in the process of redesigning it:
http://svn.apache.org/repos/asf/subversion/trunk/notes/editor-v2.txt
but the current implementation is still using the old version.
If you need more details reading header files in
http://svn.apache.org/repos/asf/subversion/trunk/include/
as well as the source code itself will give you even more information.
See also http://subversion.apache.org/docs/community-guide/general.html#code-to-read
> In the article it is talked about bubbling-up, creating tree, linking
> not modified nodes, etc... but nothing is said about when the complete
> content of a file of non-newer revision, is replaced with the diff
The bubble-up happens in the repository, it is server-side only.
> I hope you will keep maintaining such a great Concurrent Versions System as SVN is.
Heh :)
We like to think of SVN as the successor of CVS, not a variant of CVS.
But I guess you mean "version control system", which is one of the most
general names for software such as CVS and SVN?
Cheers,
Stefan
Received on 2010-05-03 10:46:51 CEST