/[Apache-SVN]
ViewVC logotype

Revision 1554800


Jump to revision: Previous Next
Author: stefan2
Date: Thu Jan 2 13:16:43 2014 UTC (10 years, 3 months ago)
Changed paths: 6
Log Message:
Provide a path-based counterpart to svn_fs_base__id_compare.
Most code can now compare nodes directly (next commit) using
fewer LOCs and being faster for non-BDB repositories.

It also introduces improvements over the id-based API:  An enum
replaces the various magic return values and nodes from different
repositories are reported as "unrelated" instead of yielding an
undefined result.

* subversion/include/svn_fs.h
  (svn_fs_node_relation_t,
   svn_fs_node_relation): Declare the new API.

* subversion/libsvn_fs/fs-loader.h
  (root_vtable_t): Add the corresponding vtable entry.

* subversion/libsvn_fs/fs-loader.c
  (svn_fs_node_relation): Implement as forwarding to the FS vtable.

* subversion/libsvn_fs_base/tree.c
  (base_node_relation): Naive implementation of the new API;
                        basically what the users did in the past.
  (root_vtable): Update.

* subversion/libsvn_fs_fs/tree.c
  (fs_node_relation): Optimized code based on fs_node_id() and 
                      svn_fs_fs__id_compare() using as few object
                      copies as possible.  Since all logic is in
                      one place now, it will be easier to refine
                      in the future.
  (root_vtable): Update.

* subversion/libsvn_fs_x/tree.c
  (x_node_relation): Implement similarly to FSFS.
  (root_vtable): Update.

Changed paths

Path Details
Directorysubversion/trunk/subversion/include/svn_fs.h modified , text changed
Directorysubversion/trunk/subversion/libsvn_fs/fs-loader.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_fs/fs-loader.h modified , text changed
Directorysubversion/trunk/subversion/libsvn_fs_base/tree.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_fs_fs/tree.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_fs_x/tree.c modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26