Author: rhuijben
Date: Thu Jul  5 15:00:07 2012
New Revision: 1357654

URL: http://svn.apache.org/viewvc?rev=1357654&view=rev
Log:
Detect actual only-tree nodes by being actual only instead of by being tree
conflicted in the revert code. This way the node doesn't need processing in
C for the notification handling.

* subversion/libsvn_wc/wc-queries.sql
  (STMT_CREATE_REVERT_LIST): Use subquery to determine if a node is actual
     only twice.

* subversion/libsvn_wc/wc_db.c
  (revert_list_read): Remove now unneeded check.

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=1357654&r1=1357653&r2=1357654&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc-queries.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-queries.sql Thu Jul  5 15:00:07 
2012
@@ -1180,9 +1180,14 @@ BEGIN
           OLD.conflict_old, OLD.conflict_new, OLD.conflict_working,
           OLD.prop_reject,
           CASE
-          WHEN OLD.properties IS NOT NULL
-            OR OLD.tree_conflict_data IS NOT NULL
-          THEN 1 ELSE NULL END;
+            WHEN OLD.properties IS NOT NULL
+            THEN 1
+            WHEN NOT EXISTS(SELECT 1 FROM NODES n
+                            WHERE n.wc_id = OLD.wc_id
+                              AND n.local_relpath = OLD.local_relpath)
+            THEN 1
+            ELSE NULL
+          END;
 END;
 DROP TRIGGER IF EXISTS   trigger_revert_list_actual_update;
 CREATE TEMPORARY TRIGGER trigger_revert_list_actual_update
@@ -1195,9 +1200,14 @@ BEGIN
           OLD.conflict_old, OLD.conflict_new, OLD.conflict_working,
           OLD.prop_reject,
           CASE
-          WHEN OLD.properties IS NOT NULL
-            OR OLD.tree_conflict_data IS NOT NULL
-          THEN 1 ELSE NULL END;
+            WHEN OLD.properties IS NOT NULL
+            THEN 1
+            WHEN NOT EXISTS(SELECT 1 FROM NODES n
+                            WHERE n.wc_id = OLD.wc_id
+                              AND n.local_relpath = OLD.local_relpath)
+            THEN 1
+            ELSE NULL
+          END;
 END
 
 -- STMT_DROP_REVERT_LIST_TRIGGERS

Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?rev=1357654&r1=1357653&r2=1357654&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.c Thu Jul  5 15:00:07 2012
@@ -6215,8 +6215,6 @@ revert_list_read(void *baton,
                                                   scratch_pool);
           if (conflict_data)
             {
-              svn_boolean_t tree_conflicted;
-
               svn_skel_t *conflicts = svn_skel__parse(conflict_data,
                                                       conflict_len,
                                                       scratch_pool);
@@ -6226,16 +6224,6 @@ revert_list_read(void *baton,
                                                     conflicts,
                                                     b->result_pool,
                                                     scratch_pool));
-
-              SVN_ERR(svn_wc__conflict_read_info(NULL, NULL,
-                                                 NULL, NULL, &tree_conflicted,
-                                                 b->db, wcroot->abspath,
-                                                 conflicts,
-                                                 b->result_pool,
-                                                 scratch_pool));
-
-              if (tree_conflicted)
-                *(b->reverted) = TRUE;
             }
 #endif
 


Reply via email to