You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2014/12/24 16:27:05 UTC

svn commit: r1647806 - in /subversion/branches/fsx-id/subversion/libsvn_fs_x: dag.c fs.h transaction.c transaction.h

Author: stefan2
Date: Wed Dec 24 15:27:05 2014
New Revision: 1647806

URL: http://svn.apache.org/r1647806
Log:
On the fsx-id branch:  Remove also the second svn_fs_id_t from FSX'
transaction_t struct.

* subversion/libsvn_fs_x/fs.h
  (transaction_t): Replace the base root noderev-ID with the base rev.

* subversion/libsvn_fs_x/transaction.h
  (svn_fs_x__get_txn_ids): Rename to ...
  (svn_fs_x__get_base_rev): ... this.  Make it return a revision instead
                            of a FS API ID.

* subversion/libsvn_fs_x/transaction.c
  (svn_fs_x__get_txn): Simplify transaction_t initialization.
  (svn_fs_x__open_txn,
   svn_fs_x__get_txn_ids): Update.

* subversion/libsvn_fs_x/dag.c
  (svn_fs_x__dag_txn_base_root): Update caller; construct root noderev-ID
                                 on demand.

Modified:
    subversion/branches/fsx-id/subversion/libsvn_fs_x/dag.c
    subversion/branches/fsx-id/subversion/libsvn_fs_x/fs.h
    subversion/branches/fsx-id/subversion/libsvn_fs_x/transaction.c
    subversion/branches/fsx-id/subversion/libsvn_fs_x/transaction.h

Modified: subversion/branches/fsx-id/subversion/libsvn_fs_x/dag.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsx-id/subversion/libsvn_fs_x/dag.c?rev=1647806&r1=1647805&r2=1647806&view=diff
==============================================================================
--- subversion/branches/fsx-id/subversion/libsvn_fs_x/dag.c (original)
+++ subversion/branches/fsx-id/subversion/libsvn_fs_x/dag.c Wed Dec 24 15:27:05 2014
@@ -711,11 +711,13 @@ svn_fs_x__dag_txn_base_root(dag_node_t *
                             svn_fs_x__txn_id_t txn_id,
                             apr_pool_t *pool)
 {
-  const svn_fs_id_t *base_root_id;
+  svn_fs_x__noderev_id_t base_root_id;
+  svn_revnum_t base_rev;
 
-  SVN_ERR(svn_fs_x__get_txn_ids(&base_root_id, fs, txn_id, pool));
-  return svn_fs_x__dag_get_node(node_p, fs,
-                                svn_fs_x__id_noderev_id(base_root_id), pool);
+  SVN_ERR(svn_fs_x__get_base_rev(&base_rev, fs, txn_id, pool));
+
+  svn_fs_x__init_rev_root(&base_root_id, base_rev);
+  return svn_fs_x__dag_get_node(node_p, fs, &base_root_id, pool);
 }
 
 

Modified: subversion/branches/fsx-id/subversion/libsvn_fs_x/fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsx-id/subversion/libsvn_fs_x/fs.h?rev=1647806&r1=1647805&r2=1647806&view=diff
==============================================================================
--- subversion/branches/fsx-id/subversion/libsvn_fs_x/fs.h (original)
+++ subversion/branches/fsx-id/subversion/libsvn_fs_x/fs.h Wed Dec 24 15:27:05 2014
@@ -427,9 +427,8 @@ typedef struct transaction_t
      may be NULL if there are no properties.  */
   apr_hash_t *proplist;
 
-  /* node revision id of the node which is the root of the revision
-     upon which this txn is base.  (unfinished only) */
-  const svn_fs_id_t *base_id;
+  /* revision upon which this txn is base.  (unfinished only) */
+  svn_revnum_t base_rev;
 
   /* copies list (const char * copy_ids), or NULL if there have been
      no copies in this transaction.  */

Modified: subversion/branches/fsx-id/subversion/libsvn_fs_x/transaction.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsx-id/subversion/libsvn_fs_x/transaction.c?rev=1647806&r1=1647805&r2=1647806&view=diff
==============================================================================
--- subversion/branches/fsx-id/subversion/libsvn_fs_x/transaction.c (original)
+++ subversion/branches/fsx-id/subversion/libsvn_fs_x/transaction.c Wed Dec 24 15:27:05 2014
@@ -1422,8 +1422,7 @@ svn_fs_x__get_txn(transaction_t **txn_p,
 
   SVN_ERR(svn_fs_x__get_node_revision(&noderev, fs, &root_id, pool, pool));
 
-  txn->base_id = svn_fs_x__id_create(&noderev->node_id,
-                                     &noderev->predecessor_id, pool);
+  txn->base_rev = svn_fs_x__get_revnum(noderev->predecessor_id.change_set);
   txn->copies = NULL;
 
   *txn_p = txn;
@@ -3582,7 +3581,7 @@ svn_fs_x__open_txn(svn_fs_txn_t **txn_p,
 
   SVN_ERR(svn_fs_x__get_txn(&local_txn, fs, txn_id, pool));
 
-  txn->base_rev = svn_fs_x__id_rev(local_txn->base_id);
+  txn->base_rev = local_txn->base_rev;
 
   txn->vtable = &txn_vtable;
   txn->fsap_data = ftd;
@@ -3643,14 +3642,14 @@ svn_fs_x__delete_node_revision(svn_fs_t
 /*** Transactions ***/
 
 svn_error_t *
-svn_fs_x__get_txn_ids(const svn_fs_id_t **base_root_id_p,
-                      svn_fs_t *fs,
-                      svn_fs_x__txn_id_t txn_id,
-                      apr_pool_t *pool)
+svn_fs_x__get_base_rev(svn_revnum_t *revnum,
+                       svn_fs_t *fs,
+                       svn_fs_x__txn_id_t txn_id,
+                       apr_pool_t *pool)
 {
   transaction_t *txn;
   SVN_ERR(svn_fs_x__get_txn(&txn, fs, txn_id, pool));
-  *base_root_id_p = txn->base_id;
+  *revnum = txn->base_rev;
 
   return SVN_NO_ERROR;
 }

Modified: subversion/branches/fsx-id/subversion/libsvn_fs_x/transaction.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsx-id/subversion/libsvn_fs_x/transaction.h?rev=1647806&r1=1647805&r2=1647806&view=diff
==============================================================================
--- subversion/branches/fsx-id/subversion/libsvn_fs_x/transaction.h (original)
+++ subversion/branches/fsx-id/subversion/libsvn_fs_x/transaction.h Wed Dec 24 15:27:05 2014
@@ -300,10 +300,10 @@ svn_fs_x__delete_node_revision(svn_fs_t
 
    Allocate *ROOT_ID_P and *BASE_ROOT_ID_P in POOL.  */
 svn_error_t *
-svn_fs_x__get_txn_ids(const svn_fs_id_t **base_root_id_p,
-                      svn_fs_t *fs,
-                      svn_fs_x__txn_id_t txn_id,
-                      apr_pool_t *pool);
+svn_fs_x__get_base_rev(svn_revnum_t *revnum,
+                       svn_fs_t *fs,
+                       svn_fs_x__txn_id_t txn_id,
+                       apr_pool_t *pool);
 
 /* Find the value of the property named PROPNAME in transaction TXN.
    Return the contents in *VALUE_P.  The contents will be allocated