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

Re: Revision Reconciliation Algorithm

From: Karl Fogel <kfogel_at_red-bean.com>
Date: 2007-12-28 01:11:43 CET

"Sharmarke Aden" <aden.list@gmail.com> writes:
> Hi, I'm trying to understand how Subversion determines the changes
> that have occurred between two revision and I was wondering if someone
> in here could help understand how it all works. For example, say the
> latest (head) revision in the svn repository is 210 and my working
> copy is 103. My question is how does subversion calculate all the
> adds/updates/removes my working copy needs to bring it's revision
> state to 210? What algorithm or techniques does subversion use to
> calculate deltas between two revisions and how efficient is it?

See http://subversion.tigris.org/hacking.html#docs, in particular, see:
http://subversion.tigris.org/design.html#deltas.tree and
http://subversion.tigris.org/design.html#server.fs.struct.bubble-up.

The algorithm is simply to walk down the two trees simultaneously,
emitting differences wherever they differ.

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Dec 27 23:11:40 2007

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