static svn_error_t * svn_ra_local__rev_proplist(svn_ra_session_t *session, svn_revnum_t rev, apr_hash_t **props, apr_pool_t *pool) { svn_ra_local__session_baton_t *sess = session->priv; return svn_repos_fs_revision_proplist(props, sess->repos, rev, NULL, NULL, pool); }
static dav_error * db_first_name(dav_db *db, dav_prop_name *pname) { /* for operational logging */ const char *action = NULL; /* if we don't have a copy of the properties, then get one */ if (db->props == NULL) { svn_error_t *serr; /* Working Baseline, Baseline, or (Working) Version resource */ if (db->resource->baselined) { if (db->resource->type == DAV_RESOURCE_TYPE_WORKING) serr = svn_fs_txn_proplist(&db->props, db->resource->info->root.txn, db->p); else { action = svn_log__rev_proplist(db->resource->info->root.rev, db->resource->pool); serr = svn_repos_fs_revision_proplist (&db->props, db->resource->info->repos->repos, db->resource->info->root.rev, db->authz_read_func, db->authz_read_baton, db->p); } } else { svn_node_kind_t kind; serr = svn_fs_node_proplist(&db->props, db->resource->info->root.root, get_repos_path(db->resource->info), db->p); if (! serr) serr = svn_fs_check_path(&kind, db->resource->info->root.root, get_repos_path(db->resource->info), db->p); if (! serr) { if (kind == svn_node_dir) action = svn_log__get_dir(db->resource->info->repos_path, db->resource->info->root.rev, FALSE, TRUE, 0, db->resource->pool); else action = svn_log__get_file(db->resource->info->repos_path, db->resource->info->root.rev, FALSE, TRUE, db->resource->pool); } } if (serr != NULL) return dav_svn__convert_err(serr, HTTP_INTERNAL_SERVER_ERROR, "could not begin sequencing through " "properties", db->resource->pool); } /* begin the iteration over the hash */ db->hi = apr_hash_first(db->p, db->props); /* fetch the first key */ get_name(db, pname); /* If we have a high-level action to log, do so. */ if (action != NULL) dav_svn__operational_log(db->resource->info, action); return NULL; }