blob: 3d3790a2ed4a7a5563c2813b3000cff808b7b416 [file] [log] [blame]
This experimental branch is intended to explore the idea of introducing a
svn_fs_node_t abstraction in the FS API.
The branch should be maintained with catch-up merges from trunk.
The branch is NOT going to be merged to trunk; I'm going to re-implement
everything in trunk in case we find the svn_fs_node_t API useful.
STATUS
======
- Define svn_fs_node_t abstraction
- Implement compatibility shim implementation for svn_node_t
- Switch libsvn_repos code to the new API
- Natively implement svn_fs_node_t in FSFS
PROBLEM
=======
Currently, all FS API functions accept an svn_fs_root_t and a PATH as their
arguments. In order to find the actual node and to retrieve the requested
information from these arguments, the FS implementation has to perform a
DAG walk.
PROPOSED SOLUTION
=================
The idea is to introduce a svn_fs_node_t abstraction and use it in FS API
to access certain information about the nodes. Relevant FS functions will
be revved and will start returning svn_fs_node_t instances instead of node
paths. This should help to avoid DAG walks.