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/15 11:30:14 UTC
svn commit: r1645612 - in
/subversion/branches/fsx-id/subversion/libsvn_fs_x: cached_data.c
cached_data.h tree.c
Author: stefan2
Date: Mon Dec 15 10:30:13 2014
New Revision: 1645612
URL: http://svn.apache.org/r1645612
Log:
On the fsx-id branch:
Switch another cache-layer internal API away from svn_fs_t.
* subversion/libsvn_fs_x/cached_data.h
(svn_fs_x__get_mergeinfo_count): Switch the ID type.
* subversion/libsvn_fs_x/cached_data.c
(svn_fs_x__get_mergeinfo_count): Update implementation.
* subversion/libsvn_fs_x/tree.c
(verify_node): Update caller.
Modified:
subversion/branches/fsx-id/subversion/libsvn_fs_x/cached_data.c
subversion/branches/fsx-id/subversion/libsvn_fs_x/cached_data.h
subversion/branches/fsx-id/subversion/libsvn_fs_x/tree.c
Modified: subversion/branches/fsx-id/subversion/libsvn_fs_x/cached_data.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsx-id/subversion/libsvn_fs_x/cached_data.c?rev=1645612&r1=1645611&r2=1645612&view=diff
==============================================================================
--- subversion/branches/fsx-id/subversion/libsvn_fs_x/cached_data.c (original)
+++ subversion/branches/fsx-id/subversion/libsvn_fs_x/cached_data.c Mon Dec 15 10:30:13 2014
@@ -397,22 +397,21 @@ svn_fs_x__get_node_revision(node_revisio
svn_error_t *
svn_fs_x__get_mergeinfo_count(apr_int64_t *count,
svn_fs_t *fs,
- const svn_fs_id_t *id,
+ const svn_fs_x__noderev_id_t *id,
apr_pool_t *pool)
{
node_revision_t *noderev;
- const svn_fs_x__id_part_t *noderev_id = svn_fs_x__id_noderev_id(id);
/* If we want a full acccess log, we need to provide full data and
cannot take shortcuts here. */
#if !defined(SVN_FS_X__LOG_ACCESS)
/* First, try a noderevs container cache lookup. */
- if (! svn_fs_x__id_is_txn(id))
+ if (! svn_fs_x__is_txn(id->change_set))
{
/* noderevs in rev / pack files can be cached */
fs_x_data_t *ffd = fs->fsap_data;
- svn_revnum_t revision = svn_fs_x__get_revnum(noderev_id->change_set);
+ svn_revnum_t revision = svn_fs_x__get_revnum(id->change_set);
svn_fs_x__revision_file_t *rev_file;
SVN_ERR(svn_fs_x__open_pack_or_rev_file(&rev_file, fs, revision, pool,
@@ -427,7 +426,7 @@ svn_fs_x__get_mergeinfo_count(apr_int64_
svn_boolean_t is_cached;
SVN_ERR(svn_fs_x__item_offset(&offset, &sub_item, fs, rev_file,
- noderev_id, pool));
+ id, pool));
key.revision = svn_fs_x__packed_base_rev(fs, revision);
key.second = offset;
@@ -442,7 +441,7 @@ svn_fs_x__get_mergeinfo_count(apr_int64_
#endif
/* fallback to the naive implementation handling all edge cases */
- SVN_ERR(svn_fs_x__get_node_revision(&noderev, fs, noderev_id, pool, pool));
+ SVN_ERR(svn_fs_x__get_node_revision(&noderev, fs, id, pool, pool));
*count = noderev->mergeinfo_count;
return SVN_NO_ERROR;
Modified: subversion/branches/fsx-id/subversion/libsvn_fs_x/cached_data.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsx-id/subversion/libsvn_fs_x/cached_data.h?rev=1645612&r1=1645611&r2=1645612&view=diff
==============================================================================
--- subversion/branches/fsx-id/subversion/libsvn_fs_x/cached_data.h (original)
+++ subversion/branches/fsx-id/subversion/libsvn_fs_x/cached_data.h Mon Dec 15 10:30:13 2014
@@ -45,7 +45,7 @@ svn_fs_x__get_node_revision(node_revisio
svn_error_t *
svn_fs_x__get_mergeinfo_count(apr_int64_t *count,
svn_fs_t *fs,
- const svn_fs_id_t *id,
+ const svn_fs_x__noderev_id_t *id,
apr_pool_t *pool);
/* Set *ROOT_ID to the node-id for the root of revision REV in
Modified: subversion/branches/fsx-id/subversion/libsvn_fs_x/tree.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsx-id/subversion/libsvn_fs_x/tree.c?rev=1645612&r1=1645611&r2=1645612&view=diff
==============================================================================
--- subversion/branches/fsx-id/subversion/libsvn_fs_x/tree.c (original)
+++ subversion/branches/fsx-id/subversion/libsvn_fs_x/tree.c Mon Dec 15 10:30:13 2014
@@ -4334,8 +4334,11 @@ verify_node(dag_node_t *node,
}
else
{
+ const svn_fs_x__noderev_id_t *noderev_id
+ = svn_fs_x__id_noderev_id(dirent->id);
+
SVN_ERR(svn_fs_x__get_mergeinfo_count(&child_mergeinfo, fs,
- dirent->id, iterpool));
+ noderev_id, iterpool));
}
children_mergeinfo += child_mergeinfo;