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

Re: Complexity of creating a new revision.

From: Miha Vitorovic <mvitorovic_at_nil.si>
Date: 2005-10-23 18:50:57 CEST

T'aZ <tazdev@punkass.com> wrote on 23.10.2005 17:30:01:

> Hi!
> I'm studying the complexity of various operations in svn
> i'll take creating a new tag for example
> i've understood that this results in a new revision tree and in this
> tree there is now a node poiting to revision X of a particular path
> this operation is said to take a constant time
> this is were a disagree , because according to http://subversion.
> tigris.org/files/documents/15/17/svn-design.html#Diffy%20Storage
> the vector of trees is not stored as complete copies in the repository,
> it's encoded as a series of "deltas"
> so when you use the FSFS or the BDB backend, you have to read/adjust
> O(log(n)) deltas (according to svn/trunk/notes/skip-deltas )
> so this is *not* done in constant time, right ?

Not as I understand it. To recreate the contents of a given revision, sure
you need to go through all the diffs, to get it. But to create a copy of a
given tree at revision X, all you need to do is "create copy of a tree at
revision X", that is you create a new reference to the data, without
actually copying or recreating that data. That will be done, when somebody
tries to read the contents of this copy. I guess in the context of a *nix
FS, this would be like a hard link to a directory.


  Miha Vitorovic
  Inženir v tehničnem področju
  Customer Support Engineer
   NIL Data Communications,  Tivolska cesta 48,  1000 Ljubljana,  Slovenia
   Phone +386 1 4746 500      Fax +386 1 4746 501     http://www.NIL.si
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sun Oct 23 18:52:49 2005

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.