You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2009/12/15 12:41:36 UTC
svn commit: r890771 - /subversion/trunk/subversion/libsvn_repos/obliterate.c
Author: julianfoad
Date: Tue Dec 15 11:41:36 2009
New Revision: 890771
URL: http://svn.apache.org/viewvc?rev=890771&view=rev
Log:
Make RA-local's "obliterate" function actually do the node deletion in
between creating a replacement transaction and committing the replacement
transaction. The result is the obliteration now really happens, although
not perfectly. The immediate steps needed are: fix up the "copies" table
(see r890770's log message); fix up future references to the changed
revision.
* subversion/libsvn_repos/obliterate.c
(svn_repos__obliterate_path_rev): Do a (normal) "delete a node" on the
obliteration transaction before committing it.
Modified:
subversion/trunk/subversion/libsvn_repos/obliterate.c
Modified: subversion/trunk/subversion/libsvn_repos/obliterate.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/obliterate.c?rev=890771&r1=890770&r2=890771&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/obliterate.c (original)
+++ subversion/trunk/subversion/libsvn_repos/obliterate.c Tue Dec 15 11:41:36 2009
@@ -42,7 +42,7 @@
apr_pool_t *pool)
{
svn_fs_t *fs = svn_repos_fs(repos);
- svn_fs_root_t *rev_root;
+ svn_fs_root_t *rev_root, *txn_root;
svn_fs_txn_t *txn;
const svn_fs_id_t *node_id;
@@ -62,9 +62,10 @@
/* Begin a new transaction, based on the revision we want to modify. */
SVN_ERR(svn_fs__begin_obliteration_txn(&txn, fs, revision, pool));
+ SVN_ERR(svn_fs_txn_root(&txn_root, txn, pool));
/* Make the required changes in this txn */
- /* ... */
+ SVN_ERR(svn_fs_delete(txn_root, path, pool));
/* Commit the new transaction in place of the old revision */
SVN_ERR(svn_fs__commit_obliteration_txn(revision, txn, pool));