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

Re: Minimizing the `revisions' table.

From: <cmpilato_at_collab.net>
Date: 2002-06-14 21:33:45 CEST

Hi. Remember me? I sent the following out earlier:

> While talking about the whole "changed paths being stored as a
> revision property" thing with Ben and Karl, a thought occured to me
> that I think is utter goodness.

[... blah blah blah ...]

> Why? Well, at commit time, we currently copy all the txn properties
> into the new revision-to-be, and if we do the paths-changed stuff,
> we'll be copying those as well. It just makes more sense (and wastes
> fewer fields in the svn_fs__transaction_t structure) to keep this kind
> of information in the transactions table, and make Revisions have the
> really small key-map.
>
> Thots? I'm betting that Bill Tutt and Brane are +1, yes?

Well, I got some feedback from Tutt, and here's the new plan.

REVISION:
   - a "revision" header
   - a transaction id (key into the `transactions' table)

UNFINISHED TRANSACTION:
   - a "transaction" header
   - the root note revision id for the tree in that transaction
   - the root node revision id for the tree in the revision on which its based
   - a transaction property list
   - a list of copy ids for copies made during the transaction

COMMITTED TRANSACTION:
   - a "committed" header
   - the root node revision id for the tree that was committed
   - a revision property list
   - the revision that was created by committing the transaction

CHANGES (a new table, duplicately keyed on Transaction Ids)
   - a "changes" header
   - the changed node revision id
   - the filesystem path of the changed node revision id
   - the kind of change: added, deleted, replaced or modified

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jun 14 21:36:00 2002

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