You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2011/08/10 12:42:22 UTC

svn commit: r1156098 - in /subversion/trunk/subversion: libsvn_wc/wc-queries.sql tests/cmdline/changelist_tests.py

Author: rhuijben
Date: Wed Aug 10 10:42:21 2011
New Revision: 1156098

URL: http://svn.apache.org/viewvc?rev=1156098&view=rev
Log:
Resolve issue #3985, "Re: 1.7 corrupts WC when reverting add of changelist
member".

* subversion/libsvn_wc/wc-queries.sql
  (STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST): Don't check a column against
    itself.
  (STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE): Resolve the same
    problem, but in this case use the explicit name of the other table.

* subversion/tests/cmdline/changelist_tests.py
  (readd_after_revert): Remove XFail and add issue number.

Modified:
    subversion/trunk/subversion/libsvn_wc/wc-queries.sql
    subversion/trunk/subversion/tests/cmdline/changelist_tests.py

Modified: subversion/trunk/subversion/libsvn_wc/wc-queries.sql
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-queries.sql?rev=1156098&r1=1156097&r2=1156098&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc-queries.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-queries.sql Wed Aug 10 10:42:21 2011
@@ -603,8 +603,8 @@ WHERE wc_id = ?1
   AND local_relpath = ?2
   AND (changelist IS NULL
        OR NOT EXISTS (SELECT 1 FROM nodes_current c
-                      WHERE c.wc_id = ?1 AND c.local_relpath = local_relpath
-                        AND kind = 'file'))
+                      WHERE c.wc_id = ?1 AND c.local_relpath = ?2
+                        AND c.kind = 'file'))
 
 -- STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE
 DELETE FROM actual_node
@@ -614,8 +614,9 @@ WHERE wc_id = ?1
        OR (local_relpath > ?2 || '/' AND local_relpath < ?2 || '0'))
   AND (changelist IS NULL
        OR NOT EXISTS (SELECT 1 FROM nodes_current c
-                      WHERE c.wc_id = ?1 AND c.local_relpath = local_relpath
-                        AND kind = 'file'))
+                      WHERE c.wc_id = ?1 
+                        AND c.local_relpath = actual_node.local_relpath
+                        AND c.kind = 'file'))
 
 -- STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST
 UPDATE actual_node

Modified: subversion/trunk/subversion/tests/cmdline/changelist_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/changelist_tests.py?rev=1156098&r1=1156097&r2=1156098&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/changelist_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/changelist_tests.py Wed Aug 10 10:42:21 2011
@@ -1170,7 +1170,7 @@ def add_remove_unversioned_target(sbox):
                                      'changelist', unversioned,
                                       '--remove')
 
-@XFail()
+@Issue(3985)
 def readd_after_revert(sbox):
   "add new file to changelist, revert and readd"
   sbox.build(read_only = True)