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/11 18:15:57 UTC

svn commit: r889708 - in /subversion/trunk/subversion/libsvn_fs_base: revs-txns.c tree.c

Author: julianfoad
Date: Fri Dec 11 17:15:57 2009
New Revision: 889708

URL: http://svn.apache.org/viewvc?rev=889708&view=rev
Log:
Update some obliterate TODO comments to indicate that we need to update the
"changes", "copies" and "node-origins" tables when beginning an obliteration
txn, rather than when committing it, because at the very least start-commit
hooks need them.

* subversion/libsvn_fs_base/tree.c
  (svn_fs_base__commit_obliteration_txn): Move TODO comments from here...

* subversion/libsvn_fs_base/revs-txns.c
  (txn_body_begin_obliteration_txn): ... to here.

Modified:
    subversion/trunk/subversion/libsvn_fs_base/revs-txns.c
    subversion/trunk/subversion/libsvn_fs_base/tree.c

Modified: subversion/trunk/subversion/libsvn_fs_base/revs-txns.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/revs-txns.c?rev=889708&r1=889707&r2=889708&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/revs-txns.c (original)
+++ subversion/trunk/subversion/libsvn_fs_base/revs-txns.c Fri Dec 11 17:15:57 2009
@@ -734,12 +734,12 @@
    *   * dup all referenced NODES<*.*.t50> (not old nodes that are referenced)
    *   * dup all referenced REPRESENTATIONS<*> to REPRESENTATIONS<*'>
    *   * create new STRINGS<*> where necessary (###?)
-   *
-   * At commit time:
    *   * dup all CHANGES<t50> to CHANGES<t50'>
    *   * update COPIES<cpy_id> (We need to keep the copy IDs the same, but will
    *       need to modify the copy src_txn fields.)
    *   * update NODE-ORIGINS<node_id>
+   *
+   * At commit time:
    *   * update CHECKSUM-REPS<csum>
    */
 
@@ -778,9 +778,16 @@
   /* Dup txn->proplist */
   new_txn->proplist = old_txn->proplist;
 
-  /* Leave txn->copies as NULL until commit time. We do not dup the "copies"
-   * table rows because we do not want new copy-ids because copy-ids pervade
-   * the whole history of the repository inside node-rev-ids. */
+  /* ### TODO: Update "copies" table entries referenced by txn->copies.
+   * This is hard, because I don't want to change the copy_ids, because they
+   * pervade node-ids throughout history. But what actually uses them, and
+   * does anything use them during txn construction? */
+
+  /* ### TODO: Dup the "changes" that are keyed by the txn_id. */
+
+  /* ### TODO: Update the "node-origins" table.
+   * Or can this be deferred till commit time? Probably not. */
+
 
   /* Save the modified transaction */
   SVN_ERR(svn_fs_bdb__put_txn(trail->fs, new_txn, new_txn_id, trail,

Modified: subversion/trunk/subversion/libsvn_fs_base/tree.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/tree.c?rev=889708&r1=889707&r2=889708&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/tree.c (original)
+++ subversion/trunk/subversion/libsvn_fs_base/tree.c Fri Dec 11 17:15:57 2009
@@ -2806,13 +2806,6 @@
   SVN_ERR(svn_fs_base__retry_txn(txn->fs, txn_body_commit_obliteration,
                                  &commit_args, FALSE, pool));
 
-  /* ### TODO: Update "copies" table entries referenced by txn->copies. */
-
-  /* ### TODO: Dup the "changes" that are keyed by the txn_id.
-   * Do this at commit time? Or at a higher level? */
-
-  /* ### TODO: Update the "node-origins" table. */
-
   /* return svn_error_create(SVN_ERR_UNSUPPORTED_FEATURE, NULL, NULL); */
   return SVN_NO_ERROR;
 }