Index: subversion/libsvn_fs/fs-loader.h =================================================================== --- subversion/libsvn_fs/fs-loader.h (revision 17762) +++ subversion/libsvn_fs/fs-loader.h (working copy) @@ -372,8 +372,8 @@ /* The kind of root this is */ svn_boolean_t is_txn_root; - /* For transaction roots, the name of the transaction */ - const char *txn; + /* For transaction roots, the transaction to which this root belongs. */ + svn_fs_txn_t *txn; /* For transaction roots, flags describing the txn's behavior. */ apr_uint32_t txn_flags; Index: subversion/libsvn_fs_base/tree.c =================================================================== --- subversion/libsvn_fs_base/tree.c (revision 17762) +++ subversion/libsvn_fs_base/tree.c (working copy) @@ -124,7 +124,7 @@ dag_node_t *root_dir, apr_pool_t *pool); -static svn_fs_root_t *make_txn_root (svn_fs_t *fs, const char *txn, +static svn_fs_root_t *make_txn_root (svn_fs_t *fs, svn_fs_txn_t *txn, apr_uint32_t flags, apr_pool_t *pool); @@ -308,7 +308,7 @@ flags |= SVN_FS_TXN_CHECK_LOCKS; } - root = make_txn_root (fs, svn_txn_id, flags, trail->pool); + root = make_txn_root (fs, txn, flags, trail->pool); *root_p = root; return SVN_NO_ERROR; @@ -4396,17 +4396,17 @@ /* Construct a root object referring to the root of the transaction - named TXN in FS. FLAGS represents the behavior of the transaction. + TXN in FS. FLAGS represents the behavior of the transaction. Create the new root in POOL. */ static svn_fs_root_t * make_txn_root (svn_fs_t *fs, - const char *txn, + svn_fs_txn_t *txn, apr_uint32_t flags, apr_pool_t *pool) { svn_fs_root_t *root = make_root (fs, pool); root->is_txn_root = TRUE; - root->txn = apr_pstrdup (root->pool, txn); + root->txn = txn; root->txn_flags = flags; return root; Index: subversion/libsvn_fs_fs/tree.c =================================================================== --- subversion/libsvn_fs_fs/tree.c (revision 17762) +++ subversion/libsvn_fs_fs/tree.c (working copy) @@ -127,7 +127,7 @@ dag_node_t *root_dir, apr_pool_t *pool); -static svn_fs_root_t *make_txn_root (svn_fs_t *fs, const char *txn, +static svn_fs_root_t *make_txn_root (svn_fs_t *fs, svn_fs_txn_t *txn, apr_uint32_t flags, apr_pool_t *pool); @@ -270,7 +270,7 @@ flags |= SVN_FS_TXN_CHECK_LOCKS; } - root = make_txn_root (txn->fs, txn->id, flags, pool); + root = make_txn_root (txn->fs, txn, flags, pool); *root_p = root; @@ -3188,17 +3189,17 @@ /* Construct a root object referring to the root of the transaction - named TXN in FS, with FLAGS to describe transaction's behavior. + TXN in FS, with FLAGS to describe transaction's behavior. Create the new root in POOL. */ static svn_fs_root_t * make_txn_root (svn_fs_t *fs, - const char *txn, + svn_fs_txn_t *txn, apr_uint32_t flags, apr_pool_t *pool) { svn_fs_root_t *root = make_root (fs, pool); root->is_txn_root = TRUE; - root->txn = apr_pstrdup (root->pool, txn); + root->tXn = txn; root->txn_flags = flags; return root;