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.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jun 9 22:59:36 2003