FreeBSD/contrib/subversion/subversion/libsvn_fs_x/revprops.c
/* Read the non-packed revprops for revision REV in FS, put them into the
 * revprop cache if activated and return them in *PROPERTIES.  GENERATION
 * is the current revprop generation.
 *
 * If the data could not be read due to an otherwise recoverable error,
 * leave *PROPERTIES unchanged. No error will be returned in that case.
 *
 * Allocate *PROPERTIES in RESULT_POOL and temporaries in SCRATCH_POOL.
 */
Read the non-packed revprops for revision REV in FS, put them into the
revprop cache if activated and return them in *PROPERTIES.  GENERATION
is the current revprop generation.

If the data could not be read due to an otherwise recoverable error,
leave *PROPERTIES unchanged. No error will be returned in that case.

Allocate *PROPERTIES in RESULT_POOL and temporaries in SCRATCH_POOL.
Read the non - packed revprops for revision REV in FS put them into the revprop cache if activated and return them in * PROPERTIES . GENERATION is the current revprop generation . If the data could not be read due to an otherwise recoverable error leave * PROPERTIES unchanged . No error will be returned in that case . Allocate * PROPERTIES in RESULT_POOL and temporaries in SCRATCH_POOL .
static svn_error_t *
read_non_packed_revprop(apr_hash_t **properties,
                        svn_fs_t *fs,
                        svn_revnum_t rev,
                        apr_int64_t generation,
                        apr_pool_t *result_pool,
                        apr_pool_t *scratch_pool)
{
  svn_stringbuf_t *content = NULL;
  apr_pool_t *iterpool = svn_pool_create(scratch_pool);
  svn_boolean_t missing = FALSE;
  int i;
  for (i = 0;
       i < SVN_FS_X__RECOVERABLE_RETRY_COUNT && !missing && !content;
       ++i)
    {
      svn_pool_clear(iterpool);
      SVN_ERR(svn_fs_x__try_stringbuf_from_file(&content,
                                  &missing,
                                  svn_fs_x__path_revprops(fs, rev, iterpool),
                                  i + 1 < SVN_FS_X__RECOVERABLE_RETRY_COUNT,
                                  iterpool));
    }
  if (content)
    SVN_ERR(parse_revprop(properties, fs, rev, generation,
                          svn_stringbuf__morph_into_string(content),
                          result_pool, iterpool));
  svn_pool_clear(iterpool);
  return SVN_NO_ERROR;
}
static svn_error_t * read_non_packed_revprop ( apr_hash_t * * properties , svn_fs_t * fs , svn_revnum_t rev , apr_int64_t generation , apr_pool_t * result_pool , apr_pool_t * scratch_pool ) { svn_stringbuf_t * content = NULL ; apr_pool_t * iterpool = svn_pool_create ( scratch_pool ) ; svn_boolean_t missing = FALSE ; int i ; for ( i = 0 ; i < SVN_FS_X__RECOVERABLE_RETRY_COUNT && ! missing && ! content ; ++ i ) { svn_pool_clear ( iterpool ) ; SVN_ERR ( svn_fs_x__try_stringbuf_from_file ( & content , & missing , svn_fs_x__path_revprops ( fs , rev , iterpool ) , i + 1 < SVN_FS_X__RECOVERABLE_RETRY_COUNT , iterpool ) ) ; } if ( content ) SVN_ERR ( parse_revprop ( properties , fs , rev , generation , svn_stringbuf__morph_into_string ( content ) , result_pool , iterpool ) ) ; svn_pool_clear ( iterpool ) ; return SVN_NO_ERROR ; }
Read the non-packed revprops for revision REV in FS, put them into the
 revprop cache if activated and return them in *PROPERTIES.
Read the non - packed revprops for revision REV in FS put them into the revprop cache if activated and return them in * PROPERTIES .