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

More details of commit/update steps

From: Asier Marzo Pérez <asier.marzo_at_unavarra.es>
Date: Sun, 2 May 2010 23:44:32 +0200


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?
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

**What diff is saved: reverse or foreward?
I suppose that reverse-diff is saved but, there is also saved the forward one?? (maybe for speeding updates of the clients, for updating a file with the diff and not by downloading the whole file)

**Who applies the diff when a not key revision is required?
If server is in revision 58, and a client ask for a file of revision 34 (that changed in 45 and 48)
Does the server send file in revision 58 and reverse diffs of 48 and 45 (and the client apply as follows 58---reversediff48---->48------reversediff45--->45 == 34 ?
Or does the server do that process and send it "ready" to the client ?

I'm designing a little CVS system (client in Java and server in PHP) for maximizing the deployability. I will need to face problems of using HTTP protocol and web-hosting limitation (also, PHP is not one of my favourites lenguages) but I'm trying to analize any cvs just for taking ideas.

I hope you will keep maintaining such a great Concurrent Versions System as SVN is.

Goodbye and thanks in advance,
Asier Marzo Pérez
Public University of Navarre
Received on 2010-05-03 01:59:37 CEST

This is an archived mail posted to the Subversion Dev mailing list.