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;
}