> -----Original Message-----
> From: phi...@apache.org [mailto:phi...@apache.org]
> Sent: donderdag 16 september 2010 19:25
> To: comm...@subversion.apache.org
> Subject: svn commit: r997854 - in
> /subversion/trunk/subversion/libsvn_wc: wc-queries.sql wc_db.c
> 
> Author: philip
> Date: Thu Sep 16 17:24:47 2010
> New Revision: 997854
> 
> URL: http://svn.apache.org/viewvc?rev=997854&view=rev
> Log:
> Convert another query for SVN_WC__NODES.
> 
> * subversion/libsvn_wc/wc-queries.sql
>   (STMT_UPDATE_COPYFROM_TO_INHERIT_1): New.
> 
> * subversion/libsvn_wc/wc_db.c
>   (svn_wc__db_temp_elide_copyfrom): Operate on NODES table as well.
> 
> Modified:
>     subversion/trunk/subversion/libsvn_wc/wc-queries.sql
>     subversion/trunk/subversion/libsvn_wc/wc_db.c
> 
> Modified: subversion/trunk/subversion/libsvn_wc/wc-queries.sql
> URL:
> http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-
> queries.sql?rev=997854&r1=997853&r2=997854&view=diff
> =======================================================================
> =======
> --- subversion/trunk/subversion/libsvn_wc/wc-queries.sql (original)
> +++ subversion/trunk/subversion/libsvn_wc/wc-queries.sql Thu Sep 16
> 17:24:47 2010
> @@ -629,6 +629,17 @@ UPDATE WORKING_NODE SET
>    copyfrom_revnum = null
>  WHERE wc_id = ?1 AND local_relpath = ?2;
> 
> +-- STMT_UPDATE_COPYFROM_TO_INHERIT_1
> +UPDATE NODES SET
> +  repos_id = null,
> +  repos_path = null,
> +  revision = null
> +WHERE wc_id = ?1 AND local_relpath = ?2
> +  AND op_depth IN (SELECT op_depth FROM nodes
> +                   WHERE wc_id = ?1 AND local_relpath = ?2
> +                   ORDER BY op_depth DESC
> +                   LIMIT 1);

Can you add some marker somewhere that this is just temporary behavior?
(Probably in wc_db.c)

The final code should (of course) make the op_depth of the NODES record match 
the op_depth of the inherited operation and not just update some information on 
the highest op_depth version of the node itself.

The update behavior op_depth should be explicit instead of just taking the 
highest current op_depth. (Updating the highest existing op_depth doesn't 
verify if the node is deleted/replaced (where you can still elide lower layers) 
or maybe just a base_node (error in caller))

        Bert 


Reply via email to