subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rhuij...@apache.org
Subject svn commit: r959676 - in /subversion/trunk/subversion/libsvn_wc: update_editor.c wc_db.c
Date Thu, 01 Jul 2010 14:13:33 GMT
Author: rhuijben
Date: Thu Jul  1 14:13:32 2010
New Revision: 959676

URL: http://svn.apache.org/viewvc?rev=959676&view=rev
Log:
* subversion/libsvn_wc/update_editor.c
  (do_entry_deletion): Only the BASE data has to be removed.

* subversion/libsvn_wc/wc_db.c
  (svn_wc__db_base_remove): Also remove a parent stub if there
    is one.

Modified:
    subversion/trunk/subversion/libsvn_wc/update_editor.c
    subversion/trunk/subversion/libsvn_wc/wc_db.c

Modified: subversion/trunk/subversion/libsvn_wc/update_editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/update_editor.c?rev=959676&r1=959675&r2=959676&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/update_editor.c (original)
+++ subversion/trunk/subversion/libsvn_wc/update_editor.c Thu Jul  1 14:13:32 2010
@@ -2090,7 +2090,7 @@ do_entry_deletion(struct edit_baton *eb,
   SVN_ERR(svn_wc__db_node_hidden(&hidden, eb->db, local_abspath, pool));
   if (hidden)
     {
-      SVN_ERR(svn_wc__db_temp_op_remove_entry(eb->db, local_abspath, pool));
+      SVN_ERR(svn_wc__db_base_remove(eb->db, local_abspath, pool));
 
       if (strcmp(local_abspath, eb->target_abspath) == 0)
         eb->target_deleted = TRUE;

Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?rev=959676&r1=959675&r2=959676&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.c Thu Jul  1 14:13:32 2010
@@ -1741,6 +1741,32 @@ svn_wc__db_base_remove(svn_wc__db_t *db,
 
   flush_entries(pdh);
 
+#ifndef SINGLE_DB
+  if (*local_relpath == '\0')
+    {
+      svn_error_t *err;
+      err = navigate_to_parent(&pdh, db, pdh, svn_sqlite__mode_readwrite,
+                               TRUE, scratch_pool);
+
+      if (!err)
+        {
+          SVN_ERR(svn_sqlite__get_statement(&stmt, pdh->wcroot->sdb,
+                                            STMT_DELETE_BASE_NODE));
+          SVN_ERR(svn_sqlite__bindf(stmt, "is", pdh->wcroot->wc_id,
+                                    svn_dirent_basename(local_abspath,
+                                                        scratch_pool)));
+
+          SVN_ERR(svn_sqlite__step_done(stmt));
+
+          flush_entries(pdh);
+        }
+      else if (err && err->apr_err == SVN_ERR_WC_NOT_WORKING_COPY)
+        svn_error_clear(err);
+      else
+        SVN_ERR(err);
+    }
+#endif
+
   return SVN_NO_ERROR;
 }
 



Mime
View raw message