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

RE: NODE_DATA (2nd iteration)

From: Bert Huijben <bert_at_qqmail.nl>
Date: Tue, 3 Aug 2010 16:45:44 +0200

> -----Original Message-----
> From: Julian Foad [mailto:julian.foad_at_wandisco.com]
> Sent: dinsdag 3 augustus 2010 15:19
> To: Erik Huelsmann
> Cc: dev
> Subject: Re: NODE_DATA (2nd iteration)

> > TABLE NODE_DATA (
> > wc_id INTEGER NOT NULL REFERENCES WCROOT (id),
> > local_relpath TEXT NOT NULL,
> > op_depth INTEGER NOT NULL,
> > presence TEXT NOT NULL,
> > kind TEXT NOT NULL,
> > checksum TEXT,
> > changed_rev INTEGER,
> > changed_date INTEGER, /* an APR date/time (usec since 1970) */
> > changed_author TEXT,
>
> The changed_* columns can only belong to a node-rev that exists in the
> repository. What node-rev do they belong to and why aren't they
> alongside the node-rev details?

>
> (The changed_* columns convey essentially a rev number and two of the
> rev-props associated with that revnum that can be used in keyword
> expansions. We should consider representing that information in a more
> general form, both to avoid tying the DB format to the choice of those
> two particular revprops, and to avoid the redundancy of storing these
> same data and author values N times.)

changed_rev is in many ways information that the other changed_* values exist (compared to SVN_INVALID_REVNUM) and the value itself is being used to locate copyfrom info in the update editor.

Changed_date is used to update the file-time if you use commit-times in your subversion settings.

And changed-author and changed-rev are used in the svn status -v output. (Which makes them +- performance critical).

(That's why all of these have their values mapped in svn_wc__db_read_info() and svn_wc__db_base_get_info() and before that in svn_wc_entry_t)

On top of that the update_editor and the commit editor always handled these properties specifically, so we should really keep these as fast as possible. (A join on changed_rev would be an option, but almost certainly slower than the current code...)
Do you expect the author or date to change on all files of a specific revision if you propedit the revprops and then update one file?

        Bert
Received on 2010-08-04 10:38:20 CEST

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