diff options
Diffstat (limited to 'subversion/libsvn_fs_x/cached_data.h')
-rw-r--r-- | subversion/libsvn_fs_x/cached_data.h | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/subversion/libsvn_fs_x/cached_data.h b/subversion/libsvn_fs_x/cached_data.h index 079303eff004..2bcd2d942054 100644 --- a/subversion/libsvn_fs_x/cached_data.h +++ b/subversion/libsvn_fs_x/cached_data.h @@ -20,8 +20,8 @@ * ==================================================================== */ -#ifndef SVN_LIBSVN_FS__CACHED_DATA_H -#define SVN_LIBSVN_FS__CACHED_DATA_H +#ifndef SVN_LIBSVN_FS_X_CACHED_DATA_H +#define SVN_LIBSVN_FS_X_CACHED_DATA_H #include "svn_pools.h" #include "svn_fs.h" @@ -67,7 +67,7 @@ svn_fs_x__rep_chain_length(int *chain_length, svn_fs_t *fs, apr_pool_t *scratch_pool); -/* Set *CONTENTS to be a readable svn_stream_t that receives the text +/* Set *CONTENTS_P to be a readable svn_stream_t that receives the text representation REP as seen in filesystem FS. If CACHE_FULLTEXT is not set, bypass fulltext cache lookup for this rep and don't put the reconstructed fulltext into cache. @@ -79,6 +79,18 @@ svn_fs_x__get_contents(svn_stream_t **contents_p, svn_boolean_t cache_fulltext, apr_pool_t *result_pool); +/* Set *CONTENTS_P to be a readable svn_stream_t that receives the text + representation REP as seen in filesystem FS. Read the latest element + of the delta chain from FILE at offset OFFSET. + Use POOL for allocations. */ +svn_error_t * +svn_fs_x__get_contents_from_file(svn_stream_t **contents_p, + svn_fs_t *fs, + svn_fs_x__representation_t *rep, + apr_file_t *file, + apr_off_t offset, + apr_pool_t *pool); + /* Determine on-disk and expanded sizes of the representation identified * by ENTRY in FS and return the result in PACKED_LEN and EXPANDED_LEN, * respectively. FILE must point to the start of the representation and @@ -168,13 +180,24 @@ svn_fs_x__get_proplist(apr_hash_t **proplist, apr_pool_t *result_pool, apr_pool_t *scratch_pool); -/* Fetch the list of change in revision REV in FS and return it in *CHANGES. - * Allocate the result in POOL. +/* Create a changes retrieval context object in *RESULT_POOL and return it + * in *CONTEXT. It will allow svn_fs_x__get_changes to fetch consecutive + * blocks (one per invocation) from REV's changed paths list in FS. + * Use SCRATCH_POOL for temporary allocations. */ +svn_error_t * +svn_fs_x__create_changes_context(svn_fs_x__changes_context_t **context, + svn_fs_t *fs, + svn_revnum_t rev, + apr_pool_t *result_pool, + apr_pool_t *scratch_pool); + +/* Fetch the block of changes from the CONTEXT and return it in *CHANGES. + * Allocate the result in RESULT_POOL and use SCRATCH_POOL for temporaries. */ svn_error_t * svn_fs_x__get_changes(apr_array_header_t **changes, - svn_fs_t *fs, - svn_revnum_t rev, - apr_pool_t *pool); + svn_fs_x__changes_context_t *context, + apr_pool_t *result_pool, + apr_pool_t *scratch_pool); #endif |