On Wed, Dec 24, 2014 at 12:18 PM, Ivan Zhakov <i...@visualsvn.com> wrote:
> On 23 December 2014 at 19:10, <stef...@apache.org> wrote: > > Author: stefan2 > > Date: Tue Dec 23 16:10:57 2014 > > New Revision: 1647605 > > > > URL: http://svn.apache.org/r1647605 > > Log: > > On the fsx-id branch: Begin using our own dirent type within FSX. > > > > There a number of reasons to do this: > > > > - Decouple the implementation from the interface definition. > > - Allow for getting rid of the svn_fs_id_t member within the struct > > while most times we would only need the dirents within FSX itself. > > - Reduce the typical size of a dirent from 88 to 48 bytes under 64 bits. > > Compared to FSFS' 120 bytes, this grows RAM / cache capacity 2.5x. > > - Eliminate ID construction and conversion overhead. > > > > This patch will simply introduce dirent_t as a copy of svn_fs_dirent_t > > and use it throughout FSX. Convert at the interface. Most of it is > > one giant search & replace spree. > > > > * subversion/libsvn_fs_x/fs.h > > (fs_x_data_t): Update commentary. > > (dirent_t): New struct, copied from svn_fs_dirent_t. > > > > http://subversion.apache.org/docs/community-guide/conventions.html#other-conventions > [[[[ > All library-internal declarations made in a library-private header > file (such as libsvn_wc/wc.h) must be signified by two underscores > after the library prefix (such as svn_wc__ensure_directory). All > declarations private to a single file (such as the static function > get_entry_url inside of libsvn_wc/update_editor.c) do not require any > additional namespace decorations. > ]]]] > > So proper name for dirent_t in FSX is svn_fs_x__dirent_t. > I'm in the last stages of the rework planned for the fsx-id branch. Around this weekend, I'll give everything its final name, such as "svn_fs_x__id_t, svn_fs_x__dirent_t" etc. Meanwhile, you can take up the task and fix the same problems in FSFS (basically everything in fs.h). -- Stefan^2.