⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ra_loader.c

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 C
📖 第 1 页 / 共 2 页
字号:
                                      const svn_delta_editor_t **editor,                                      void **edit_baton,                                      const char *log_msg,                                      svn_commit_callback_t callback,                                      void *callback_baton,                                      apr_hash_t *lock_tokens,                                      svn_boolean_t keep_locks,                                      apr_pool_t *pool){  svn_commit_callback2_t callback2;  void *callback2_baton;  svn_compat_wrap_commit_callback(&callback2, &callback2_baton,                                  callback, callback_baton,                                  pool);  return svn_ra_get_commit_editor2(session, editor, edit_baton,                                   log_msg, callback2,                                   callback2_baton, lock_tokens,                                   keep_locks, pool);}svn_error_t *svn_ra_get_file(svn_ra_session_t *session,                             const char *path,                             svn_revnum_t revision,                             svn_stream_t *stream,                             svn_revnum_t *fetched_rev,                             apr_hash_t **props,                             apr_pool_t *pool){  return session->vtable->get_file(session, path, revision, stream,                                   fetched_rev, props, pool);}svn_error_t *svn_ra_get_dir(svn_ra_session_t *session,                            const char *path,                            svn_revnum_t revision,                            apr_hash_t **dirents,                            svn_revnum_t *fetched_rev,                            apr_hash_t **props,                            apr_pool_t *pool){  return session->vtable->get_dir(session, dirents, fetched_rev, props,                                  path, revision, SVN_DIRENT_ALL, pool);}svn_error_t *svn_ra_get_dir2(svn_ra_session_t *session,                             apr_hash_t **dirents,                             svn_revnum_t *fetched_rev,                             apr_hash_t **props,                             const char *path,                             svn_revnum_t revision,                             apr_uint32_t dirent_fields,                             apr_pool_t *pool){  return session->vtable->get_dir(session, dirents, fetched_rev, props,                                  path, revision, dirent_fields, pool);}svn_error_t *svn_ra_do_update(svn_ra_session_t *session,                              const svn_ra_reporter2_t **reporter,                              void **report_baton,                              svn_revnum_t revision_to_update_to,                              const char *update_target,                              svn_boolean_t recurse,                              const svn_delta_editor_t *update_editor,                              void *update_baton,                              apr_pool_t *pool){  return session->vtable->do_update(session, reporter, report_baton,                                    revision_to_update_to, update_target,                                    recurse, update_editor, update_baton,                                    pool);}svn_error_t *svn_ra_do_switch(svn_ra_session_t *session,                              const svn_ra_reporter2_t **reporter,                              void **report_baton,                              svn_revnum_t revision_to_switch_to,                              const char *switch_target,                              svn_boolean_t recurse,                              const char *switch_url,                              const svn_delta_editor_t *switch_editor,                              void *switch_baton,                              apr_pool_t *pool){  return session->vtable->do_switch(session, reporter, report_baton,                                    revision_to_switch_to, switch_target,                                    recurse, switch_url, switch_editor,                                    switch_baton, pool);}svn_error_t *svn_ra_do_status(svn_ra_session_t *session,                              const svn_ra_reporter2_t **reporter,                              void **report_baton,                              const char *status_target,                              svn_revnum_t revision,                              svn_boolean_t recurse,                              const svn_delta_editor_t *status_editor,                              void *status_baton,                              apr_pool_t *pool){  return session->vtable->do_status(session, reporter, report_baton,                                    status_target, revision, recurse,                                    status_editor, status_baton, pool);}svn_error_t *svn_ra_do_diff2(svn_ra_session_t *session,                             const svn_ra_reporter2_t **reporter,                             void **report_baton,                             svn_revnum_t revision,                             const char *diff_target,                             svn_boolean_t recurse,                             svn_boolean_t ignore_ancestry,                             svn_boolean_t text_deltas,                             const char *versus_url,                             const svn_delta_editor_t *diff_editor,                             void *diff_baton,                             apr_pool_t *pool){  return session->vtable->do_diff(session, reporter, report_baton, revision,                                  diff_target, recurse, ignore_ancestry,                                  text_deltas, versus_url, diff_editor,                                  diff_baton, pool);}svn_error_t *svn_ra_do_diff(svn_ra_session_t *session,                            const svn_ra_reporter2_t **reporter,                            void **report_baton,                            svn_revnum_t revision,                            const char *diff_target,                            svn_boolean_t recurse,                            svn_boolean_t ignore_ancestry,                            const char *versus_url,                            const svn_delta_editor_t *diff_editor,                            void *diff_baton,                            apr_pool_t *pool){  return svn_ra_do_diff2(session, reporter, report_baton, revision,                         diff_target, recurse, ignore_ancestry, TRUE,                         versus_url, diff_editor, diff_baton, pool);}svn_error_t *svn_ra_get_log(svn_ra_session_t *session,                            const apr_array_header_t *paths,                            svn_revnum_t start,                            svn_revnum_t end,                            int limit,                            svn_boolean_t discover_changed_paths,                            svn_boolean_t strict_node_history,                            svn_log_message_receiver_t receiver,                            void *receiver_baton,                            apr_pool_t *pool){  return session->vtable->get_log(session, paths, start, end, limit,                                  discover_changed_paths, strict_node_history,                                  receiver, receiver_baton, pool);}svn_error_t *svn_ra_check_path(svn_ra_session_t *session,                               const char *path,                               svn_revnum_t revision,                               svn_node_kind_t *kind,                               apr_pool_t *pool){  return session->vtable->check_path(session, path, revision, kind, pool);}svn_error_t *svn_ra_stat(svn_ra_session_t *session,                         const char *path,                         svn_revnum_t revision,                         svn_dirent_t **dirent,                         apr_pool_t *pool){  return session->vtable->stat(session, path, revision, dirent, pool);}svn_error_t *svn_ra_get_uuid(svn_ra_session_t *session,                             const char **uuid,                             apr_pool_t *pool){  return session->vtable->get_uuid(session, uuid, pool);}svn_error_t *svn_ra_get_repos_root(svn_ra_session_t *session,                                   const char **url,                                   apr_pool_t *pool){  return session->vtable->get_repos_root(session, url, pool);}svn_error_t *svn_ra_get_locations(svn_ra_session_t *session,                                  apr_hash_t **locations,                                  const char *path,                                  svn_revnum_t peg_revision,                                  apr_array_header_t *location_revisions,                                  apr_pool_t *pool){  return session->vtable->get_locations(session, locations, path,                                        peg_revision, location_revisions,                                        pool);}svn_error_t *svn_ra_get_file_revs(svn_ra_session_t *session,                                  const char *path,                                  svn_revnum_t start,                                  svn_revnum_t end,                                  svn_ra_file_rev_handler_t handler,                                  void *handler_baton,                                  apr_pool_t *pool){  return session->vtable->get_file_revs(session, path, start, end, handler,                                        handler_baton, pool);}svn_error_t *svn_ra_lock(svn_ra_session_t *session,                         apr_hash_t *path_revs,                         const char *comment,                         svn_boolean_t steal_lock,                         svn_ra_lock_callback_t lock_func,                          void *lock_baton,                         apr_pool_t *pool){  if (comment && ! svn_xml_is_xml_safe(comment, strlen(comment)))    return svn_error_create      (SVN_ERR_XML_UNESCAPABLE_DATA, NULL,       _("Lock comment has illegal characters"));    return session->vtable->lock(session, path_revs, comment, steal_lock,                               lock_func, lock_baton, pool);}svn_error_t *svn_ra_unlock(svn_ra_session_t *session,                           apr_hash_t *path_tokens,                           svn_boolean_t break_lock,                           svn_ra_lock_callback_t lock_func,                            void *lock_baton,                           apr_pool_t *pool){  return session->vtable->unlock(session, path_tokens, break_lock,                                 lock_func, lock_baton, pool);}svn_error_t *svn_ra_get_lock(svn_ra_session_t *session,                             svn_lock_t **lock,                             const char *path,                             apr_pool_t *pool){  return session->vtable->get_lock(session, lock, path, pool);}svn_error_t *svn_ra_get_locks(svn_ra_session_t *session,                              apr_hash_t **locks,                              const char *path,                              apr_pool_t *pool){  return session->vtable->get_locks(session, locks, path, pool);}svn_error_t *svn_ra_replay(svn_ra_session_t *session,                           svn_revnum_t revision,                           svn_revnum_t low_water_mark,                           svn_boolean_t text_deltas,                           const svn_delta_editor_t *editor,                           void *edit_baton,                           apr_pool_t *pool){  return session->vtable->replay(session, revision, low_water_mark,                                 text_deltas, editor, edit_baton, pool);}svn_error_t *svn_ra_print_modules(svn_stringbuf_t *output,                     apr_pool_t *pool){  const struct ra_lib_defn *defn;  const char * const *schemes;  svn_ra__init_func_t initfunc;  const svn_ra__vtable_t *vtable;  apr_pool_t *iterpool = svn_pool_create(pool);  for (defn = ra_libraries; defn->ra_name != NULL; ++defn)    {      char *line;      svn_pool_clear(iterpool);      initfunc = defn->initfunc;      if (! initfunc)        SVN_ERR(load_ra_module(&initfunc, NULL, defn->ra_name,                               iterpool));      if (initfunc)        {          SVN_ERR(initfunc(svn_ra_version(), &vtable, iterpool));          SVN_ERR(check_ra_version(vtable->get_version(), defn->ra_name));          line = apr_psprintf(iterpool, "* ra_%s : %s\n",                              defn->ra_name,                              vtable->get_description());          svn_stringbuf_appendcstr(output, line);          for (schemes = vtable->get_schemes(iterpool); *schemes != NULL;               ++schemes)            {              line = apr_psprintf(iterpool, _("  - handles '%s' scheme\n"),                                  *schemes);              svn_stringbuf_appendcstr(output, line);            }        }    }  svn_pool_destroy(iterpool);  return SVN_NO_ERROR;}svn_error_t *svn_ra_print_ra_libraries(svn_stringbuf_t **descriptions,                          void *ra_baton,                          apr_pool_t *pool){  *descriptions = svn_stringbuf_create("", pool);  return svn_ra_print_modules(*descriptions, pool);}/* Return the library version number. */const svn_version_t *svn_ra_version(void){  SVN_VERSION_BODY;}/*** Compatibility Interfaces **/svn_error_t *svn_ra_init_ra_libs(void **ra_baton,                    apr_pool_t *pool){  *ra_baton = pool;  return SVN_NO_ERROR;}svn_error_t *svn_ra_get_ra_library(svn_ra_plugin_t **library,                      void *ra_baton,                      const char *url,                      apr_pool_t *pool){  const struct ra_lib_defn *defn;  apr_pool_t *load_pool = ra_baton;  apr_hash_t *ht = apr_hash_make(pool);  /* Figure out which RA library key matches URL. */  for (defn = ra_libraries; defn->ra_name != NULL; ++defn)    {      const char *scheme;      if ((scheme = has_scheme_of(defn, url)))        {          svn_ra_init_func_t compat_initfunc = defn->compat_initfunc;          if (! compat_initfunc)            {              SVN_ERR(load_ra_module                      (NULL, &compat_initfunc, defn->ra_name, load_pool));            }          if (! compat_initfunc)            {              continue;            }          SVN_ERR(compat_initfunc(SVN_RA_ABI_VERSION, load_pool, ht));          *library = apr_hash_get(ht, scheme, APR_HASH_KEY_STRING);          /* The library may support just a subset of the schemes listed,             so we have to check here too. */          if (! *library)            break;          SVN_ERR(check_ra_version((*library)->get_version(), scheme));          return SVN_NO_ERROR;        }    }      /* Couldn't find a match... */  *library = NULL;  return svn_error_createf(SVN_ERR_RA_ILLEGAL_URL, NULL,                           _("Unrecognized URL scheme '%s'"), url);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -