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

Re: svn commit: r38443 - trunk/subversion/libsvn_wc

From: Hyrum K. Wright <hyrum_at_hyrumwright.org>
Date: Sat, 18 Jul 2009 18:55:57 -0500

On Jul 18, 2009, at 4:22 PM, Stefan Sperling wrote:

> On Sat, Jul 18, 2009 at 09:23:15AM -0700, Hyrum K. Wright wrote:
>> Author: hwright
>> Date: Sat Jul 18 09:23:15 2009
>> New Revision: 38443
>>
>> Log:
>> Add a tree conflict table to format 13, so we can store the data in a
>> structured format, rather than serialized into skel strings.
>>
>> * subversion/libsvn_wc/wc-metadata.sql:
>> Add a TREE_CONFLICT_VICTIM table, and drop the tree conflict data
>> from
>> the actual node.
>>
>> Modified:
>> trunk/subversion/libsvn_wc/wc-metadata.sql
>>
>> Modified: trunk/subversion/libsvn_wc/wc-metadata.sql
>> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_wc/wc-metadata.sql?pathrev=38443&r1=38442&r2=38443
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> =====================================================================
>> --- trunk/subversion/libsvn_wc/wc-metadata.sql Sat Jul 18 08:51:46
>> 2009 (r38442)
>> +++ trunk/subversion/libsvn_wc/wc-metadata.sql Sat Jul 18 09:23:15
>> 2009 (r38443)
>> @@ -327,7 +327,8 @@ CREATE TABLE ACTUAL_NODE (
>> ### scanning the filesystem). */
>> text_mod TEXT,
>>
>> - /* if a directory, serialized data for all of tree conflicts
>> therein. */
>> + /* if a directory, serialized data for all of tree conflicts
>> therein.
>> + removed in format 13, in favor of the TREE_CONFLICT_VICTIM
>> table*/
>> tree_conflict_data TEXT,
>>
>> PRIMARY KEY (wc_id, local_relpath)
>> @@ -371,6 +372,47 @@ CREATE TABLE WORK_QUEUE (
>> work BLOB NOT NULL
>> );
>>
>> +CREATE TABLE TREE_CONFLICT_VICTIM (
>> + /* specifies the location of this node in the local filesystem */
>> + wc_id INTEGER NOT NULL,
>> + local_relpath TEXT NOT NULL,
>> +
>> + /* parent's local_relpath for aggregating children of a given
>> parent.
>> + this will be "" if the parent is the wcroot. NULL if this is
>> the
>> + wcroot node. */
>> + parent_relpath TEXT,
>> +
>> + /* what kind of node is this? may be "unknown" if the node is
>> not present */
>> + kind TEXT NOT NULL,
>
> Does this map to svn_node_kind or something else?

This maps to svn_wc__db_kind_t, just as the other "kind" fields in the
schema do.

>> + /* the name of the property in conflict, or NULL */
>> + property_name TEXT,
>
> This describes a property conflict, too?
> Why is the table called TREE_CONFLICT_VICTIM then?

Good point, the table should just be CONFLICT_VICTIM.

>> + /* conflict information, if kind is 'text' */
>> + conflict_action TEXT,
>> + conflict_reason TEXT,
>
> This describes a text conflict, too?
> Why is the table called TREE_CONFLICT_VICTIM then?
>
> Those fields can also be set for tree conflicts.
> "action" says what the update/merge wanted to do
> (e.g. "add", "delete") while "reason" says what
> the local change was which conflicted with the action.
>
> While here, we could rename these fields to something
> more sensible than 'action' and 'reason' -- those
> names appear in public API though :(

Sure we can rename them. Any suggestions?

>> + /* operation which exposed the conflict, if kind is 'tree' */
>> + operation TEXT,
>
> What kind? The field in this table which gives the kind of the node,
> or the kind of conflict being described?

That would be the kind of conflict being described. A column for this
needs to be added.

-Hyrum

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2372355
Received on 2009-07-19 01:56:25 CEST

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