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