You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by iv...@apache.org on 2016/01/09 14:53:21 UTC
svn commit: r1723857 - in /subversion/branches/fs-node-api/subversion:
libsvn_fs/fs-loader.c libsvn_fs/fs-loader.h libsvn_fs_base/tree.c
libsvn_fs_fs/tree.c libsvn_fs_x/tree.c
Author: ivan
Date: Sat Jan 9 13:53:21 2016
New Revision: 1723857
URL: http://svn.apache.org/viewvc?rev=1723857&view=rev
Log:
On 'fs-node-api' branch: Add svn_fs_root_t vtable member to open FS node.
Fallback to FS node shims only if it NULL.
* subversion/libsvn_fs/fs-loader.h
(root_vtable_t): Add OPEN_NODE vtable member.
* subversion/libsvn_fs/fs-loader.c
(svn_fs_open_node): Call root->vtable>open_node() if it's not NULL.
* subversion/libsvn_fs_fs/tree.c
* subversion/libsvn_fs_x/tree.c
* subversion/libsvn_fs_base/tree.c
(root_vtable): Update vtable.
Modified:
subversion/branches/fs-node-api/subversion/libsvn_fs/fs-loader.c
subversion/branches/fs-node-api/subversion/libsvn_fs/fs-loader.h
subversion/branches/fs-node-api/subversion/libsvn_fs_base/tree.c
subversion/branches/fs-node-api/subversion/libsvn_fs_fs/tree.c
subversion/branches/fs-node-api/subversion/libsvn_fs_x/tree.c
Modified: subversion/branches/fs-node-api/subversion/libsvn_fs/fs-loader.c
URL: http://svn.apache.org/viewvc/subversion/branches/fs-node-api/subversion/libsvn_fs/fs-loader.c?rev=1723857&r1=1723856&r2=1723857&view=diff
==============================================================================
--- subversion/branches/fs-node-api/subversion/libsvn_fs/fs-loader.c (original)
+++ subversion/branches/fs-node-api/subversion/libsvn_fs/fs-loader.c Sat Jan 9 13:53:21 2016
@@ -1062,13 +1062,14 @@ svn_fs_open_node(svn_fs_node_t **node_p,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool)
{
-#if 0
if (root->vtable->open_node)
{
- return svn_error_trace(root->vtable->open_node(...));
+ return svn_error_trace(root->vtable->open_node(node_p, root, path,
+ ignore_enoent,
+ result_pool,
+ scratch_pool));
}
else
-#endif
{
svn_node_kind_t kind;
SVN_ERR(svn_fs_check_path(&kind, root, path, scratch_pool));
Modified: subversion/branches/fs-node-api/subversion/libsvn_fs/fs-loader.h
URL: http://svn.apache.org/viewvc/subversion/branches/fs-node-api/subversion/libsvn_fs/fs-loader.h?rev=1723857&r1=1723856&r2=1723857&view=diff
==============================================================================
--- subversion/branches/fs-node-api/subversion/libsvn_fs/fs-loader.h (original)
+++ subversion/branches/fs-node-api/subversion/libsvn_fs/fs-loader.h Sat Jan 9 13:53:21 2016
@@ -303,6 +303,12 @@ typedef struct root_vtable_t
apr_pool_t *pool);
/* Generic node operations */
+ svn_error_t *(*open_node)(svn_fs_node_t **node_p,
+ svn_fs_root_t *root,
+ const char *path,
+ svn_boolean_t ignore_enoent,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
svn_error_t *(*check_path)(svn_node_kind_t *kind_p, svn_fs_root_t *root,
const char *path, apr_pool_t *pool);
svn_error_t *(*node_history)(svn_fs_history_t **history_p,
Modified: subversion/branches/fs-node-api/subversion/libsvn_fs_base/tree.c
URL: http://svn.apache.org/viewvc/subversion/branches/fs-node-api/subversion/libsvn_fs_base/tree.c?rev=1723857&r1=1723856&r2=1723857&view=diff
==============================================================================
--- subversion/branches/fs-node-api/subversion/libsvn_fs_base/tree.c (original)
+++ subversion/branches/fs-node-api/subversion/libsvn_fs_base/tree.c Sat Jan 9 13:53:21 2016
@@ -5506,6 +5506,7 @@ base_get_mergeinfo(svn_mergeinfo_catalog
static root_vtable_t root_vtable = {
base_paths_changed,
+ NULL /* open_node */,
base_check_path,
base_node_history,
base_node_id,
Modified: subversion/branches/fs-node-api/subversion/libsvn_fs_fs/tree.c
URL: http://svn.apache.org/viewvc/subversion/branches/fs-node-api/subversion/libsvn_fs_fs/tree.c?rev=1723857&r1=1723856&r2=1723857&view=diff
==============================================================================
--- subversion/branches/fs-node-api/subversion/libsvn_fs_fs/tree.c (original)
+++ subversion/branches/fs-node-api/subversion/libsvn_fs_fs/tree.c Sat Jan 9 13:53:21 2016
@@ -4325,6 +4325,7 @@ fs_get_mergeinfo(svn_mergeinfo_catalog_t
/* The vtable associated with root objects. */
static root_vtable_t root_vtable = {
fs_paths_changed,
+ NULL /* open_node */,
svn_fs_fs__check_path,
fs_node_history,
svn_fs_fs__node_id,
Modified: subversion/branches/fs-node-api/subversion/libsvn_fs_x/tree.c
URL: http://svn.apache.org/viewvc/subversion/branches/fs-node-api/subversion/libsvn_fs_x/tree.c?rev=1723857&r1=1723856&r2=1723857&view=diff
==============================================================================
--- subversion/branches/fs-node-api/subversion/libsvn_fs_x/tree.c (original)
+++ subversion/branches/fs-node-api/subversion/libsvn_fs_x/tree.c Sat Jan 9 13:53:21 2016
@@ -3170,6 +3170,7 @@ x_get_mergeinfo(svn_mergeinfo_catalog_t
/* The vtable associated with root objects. */
static root_vtable_t root_vtable = {
x_paths_changed,
+ NULL /* open_node */,
svn_fs_x__check_path,
x_node_history,
x_node_id,