On 9 Jun 2003 cmpilato@collab.net wrote:
> Faheem Mitha <faheem@email.unc.edu> writes:
>
> > Good heavens. If every checkout etc. is logged with the database, then it
> > must grow enormous over time. And I run `svn st -u' and `svn up' all the
> > time. If these change the repository, then that might account for the
> > problems I've been having. I don't see why it is necessary to log all this
> > activity, though.
> >
> > I see the Subversion Book refers to logs, but I thought they were logs of
> > commits. I didn't realise it was logging all this other stuff.
>
> Understand that it's not logging the checkout or update, per se. The
> repository database contains trees of files and dirs ("revision
> trees"). When you do an update, we make another temporary tree, which
> we store in the database, that has the same files as dirs as your
> working copy ("transaction tree"). We then diff your transaction tree
> against the revision tree you're updating to, and that's how the
> repository knows what you need as part of your update. Finally, we
> delete the temporary tree.
>
> It's only the creation and removal of that temporary tree that is
> loggy in the database, and generally, we're not talking about a whole
> lot of write operations. It's proportional to the amount of revision
> variation in your working copy (like, how many paths are at different
> revisions than their parents), not to the size of the update.
Oh. I see. So nothing of the `svn up' operation is permanently stored?
That is a relief. I never thought about how `svn up' would be
accomplished, but I guess it would have to proceed as you say.
I was reading about the bubble-up method (in the design document)
yesterday, but I think that is about the actual commit. I'll see if it has
something about `svn up' etc.
Faheem.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jun 9 23:51:53 2003