Hello
As described in issue 611
$ svn rm wc/some/dir/
$ svn ci wc
$ svn up wc
$ svn st wc
?   wc/some/dir
Deleting and commiting a working copy directory leaves behind an
unversioned directory.
Well it looks quite simple to fix, but I hesitate to apply this patch
because a) I don't understand the "Don't remove" comment, b) we're
near alpha.  Does this look correct?  Can anyone explain the "Don't
remove" comment?
Part of issue #611.  Fix 'svn rm wc/some/dir/' bug.
* subversion/libsvn_wc/log.c (svn_wc__run_log): Pysically delete
  directories marked for deletion.
  
* subversion/tests/clients/cmdline/copy_tests.py
  (resurrect_deleted_dir): Remove non-deletion workaround.
* subversion/tests/clients/cmdline/update_tests.py
  (update_delete_modified_files):  Remove non-deletion workaround.
* subversion/tests/clients/cmdline/commit_tests.py
  (hudson_part_1_variation_1): Don't workaround non-deletion.
Index: ./subversion/libsvn_wc/log.c
===================================================================
--- ./subversion/libsvn_wc/log.c
+++ ./subversion/libsvn_wc/log.c	Wed Jul 17 00:39:29 2002
@@ -1168,10 +1168,10 @@
       SVN_ERR (svn_wc_entry (&thisdir_entry, path, FALSE, pool));
 
       /* Blow away the entire administrative dir, and all those below
-         it too.  Don't remove any working files, though. */
+         it too. */
       SVN_ERR (svn_wc_remove_from_revision_control (path,
                                                     SVN_WC_ENTRY_THIS_DIR,
-                                                    FALSE, pool));
+                                                    TRUE, pool));
 
       /* If revnum of this dir is greater than parent's revnum, then
          recreate 'deleted' entry in parent. */
Index: ./subversion/tests/clients/cmdline/copy_tests.py
===================================================================
--- ./subversion/tests/clients/cmdline/copy_tests.py
+++ ./subversion/tests/clients/cmdline/copy_tests.py	Wed Jul 17 00:57:03 2002
@@ -389,9 +389,6 @@
                                             wc_dir):
     return 1
 
-  shutil.rmtree(wc_dir + '/A/D/G') # 'svn rm --force' won't remove the dir,
-                                   #  either before or after commit!
-
   # Use 'svn cp -r1 URL URL' to resurrect the deleted directory, where
   # the two URLs are identical.  This used to trigger a failure.  
   url = svntest.main.test_area_url + '/' \
Index: ./subversion/tests/clients/cmdline/update_tests.py
===================================================================
--- ./subversion/tests/clients/cmdline/update_tests.py
+++ ./subversion/tests/clients/cmdline/update_tests.py	Wed Jul 17 00:50:12 2002
@@ -692,8 +692,6 @@
   if len(stderr_lines) != 0:
     print "updating after commit failed"
     return 1
-  # ### Bug! Directory is not deleted (issue #611). Use brute force
-  shutil.rmtree(G_path)
 
   # Backdate to restore deleted items
   stdout_lines, stderr_lines = svntest.main.run_svn(None, 'up', '-r1', wc_dir)
Index: ./subversion/tests/clients/cmdline/commit_tests.py
===================================================================
--- ./subversion/tests/clients/cmdline/commit_tests.py
+++ ./subversion/tests/clients/cmdline/commit_tests.py	Wed Jul 17 01:05:33 2002
@@ -640,7 +640,7 @@
 
   # Expected disk tree:  everything except files in H
   expected_disk = svntest.main.greek_state.copy()
-  expected_disk.remove('A/D/H/chi', 'A/D/H/omega', 'A/D/H/psi')
+  expected_disk.remove('A/D/H', 'A/D/H/chi', 'A/D/H/omega', 'A/D/H/psi')
 
   # Expected status after update:  totally clean revision 2, minus H.
   expected_status = svntest.actions.get_virginal_state(wc_dir, 2)
-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Jul 17 02:24:39 2002