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

📄 adm_files.h

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 H
字号:
/* * adm_files.h :  handles locations inside the wc adm area *                (This should be the only code that actually knows *                *where* things are in .svn/.  If you can't get to *                something via these interfaces, something's wrong.) * * ==================================================================== * Copyright (c) 2000-2004 CollabNet.  All rights reserved. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution.  The terms * are also available at http://subversion.tigris.org/license-1.html. * If newer versions of this license are posted there, you may use a * newer version instead, at your option. * * This software consists of voluntary contributions made by many * individuals.  For exact contribution history, see the revision * history and logs, available at http://subversion.tigris.org/. * ==================================================================== */#ifndef SVN_LIBSVN_WC_ADM_FILES_H#define SVN_LIBSVN_WC_ADM_FILES_H#include <apr_pools.h>#include "svn_types.h"#ifdef __cplusplusextern "C" {#endif /* __cplusplus *//* Return a path to something in PATH's administrative area. * Return path to the thing in the tmp area if TMP is non-zero. * Varargs are (const char *)'s, the final one must be NULL. */const char * svn_wc__adm_path(const char *path,                              svn_boolean_t tmp,                              apr_pool_t *pool,                              ...);/* Return TRUE if a thing in the administrative area exists, FALSE   otherwise. */svn_boolean_t svn_wc__adm_path_exists(const char *path,                                      svn_boolean_t tmp,                                      apr_pool_t *pool,                                      ...);/* Make `PATH/<adminstrative_subdir>/THING'. */svn_error_t *svn_wc__make_adm_thing(svn_wc_adm_access_t *adm_access,                                    const char *thing,                                    svn_node_kind_t type,                                    apr_fileperms_t perms,                                    svn_boolean_t tmp,                                    apr_pool_t *pool);/* Atomically rename a temporary text-base file to its canonical   location.  The tmp file should be closed already. */svn_error_t *svn_wc__sync_text_base(const char *path, apr_pool_t *pool);/* Return a path to PATH's text-base file.   If TMP is set, return a path to the tmp text-base file. */const char *svn_wc__text_base_path(const char *path,                                   svn_boolean_t tmp,                                   apr_pool_t *pool);/* Return a path to PATH's revert file.   If TMP is set, return a path to the tmp revert file. */const char *svn_wc__text_revert_path(const char *path,                         svn_boolean_t tmp,                         apr_pool_t *pool);/* Return a path to the 'wcprop' file for PATH, possibly in TMP area.   Valid values for KIND are svn_node_dir and svn_node_file. */svn_error_t *svn_wc__wcprop_path(const char **wcprop_path,                                 const char *path,                                 svn_node_kind_t kind,                                 svn_boolean_t tmp,                                 apr_pool_t *pool);/* Set *PROP_PATH to PATH's working properties file.   If TMP is set, return a path to the tmp working property file.    PATH can be a directory or file, and even have changed w.r.t. the   working copy's adm knowledge. Valid values for KIND are svn_node_dir   and svn_node_file. */svn_error_t *svn_wc__prop_path(const char **prop_path,                               const char *path,                               svn_node_kind_t kind,                               svn_boolean_t tmp,                               apr_pool_t *pool);/* Set *PROP_PATH to PATH's `pristine' properties file.   If TMP is set, return a path to the tmp working property file.    PATH can be a directory or file, and even have changed w.r.t. the   working copy's adm knowledge. Valid values for KIND are svn_node_dir   and svn_node_file. */svn_error_t *svn_wc__prop_base_path(const char **prop_path,                                    const char *path,                                    svn_node_kind_t kind,                                    svn_boolean_t tmp,                                    apr_pool_t *pool);/* Set *PROP_PATH to PATH's revert properties file.   If TMP is set, return a path to the tmp working property file.    PATH can be a directory or file, and even have changed w.r.t. the   working copy's adm knowledge. Valid values for KIND are svn_node_dir   and svn_node_file. */svn_error_t *svn_wc__prop_revert_path(const char **prop_path,                                      const char *path,                                      svn_node_kind_t kind,                                      svn_boolean_t tmp,                                      apr_pool_t *pool);/*** Opening all kinds of adm files ***//* Yo, read this if you open and close files in the adm area: * * When you open a file for writing with svn_wc__open_foo(), the file * is actually opened in the corresponding location in the tmp/ * directory.  Opening with APR_APPEND is not supported.  You are * guaranteed to be the owner of the new file. * * Somehow, this tmp file must eventually get renamed to its real * destination in the adm area.  You can do it either by passing the * SYNC flag to svn_wc__close_foo(), or by calling * svn_wc__sync_foo() (though of course you should still have * called svn_wc__close_foo() first, just without the SYNC flag). * * In other words, the adm area is only capable of modifying files * atomically, but you get some control over when the rename happens. *//* Open `PATH/<adminstrative_subdir>/FNAME'. */svn_error_t *svn_wc__open_adm_file(apr_file_t **handle,                                   const char *path,                                   const char *fname,                                   apr_int32_t flags,                                   apr_pool_t *pool);/* Close `PATH/<adminstrative_subdir>/FNAME'. */svn_error_t *svn_wc__close_adm_file(apr_file_t *fp,                                    const char *path,                                    const char *fname,                                    int sync,                                    apr_pool_t *pool);/* Remove `PATH/<adminstrative_subdir>/THING'. */svn_error_t *svn_wc__remove_adm_file(const char *path,                                     apr_pool_t *pool,                                     ...);/* Open the text-base for FILE. * FILE can be any kind of path ending with a filename. * Behaves like svn_wc__open_adm_file(), which see. */svn_error_t *svn_wc__open_text_base(apr_file_t **handle,                                    const char *file,                                    apr_int32_t flags,                                    apr_pool_t *pool);/* Open the revert-base for FILE. * FILE can be any kind of path ending with a filename. * Behaves like svn_wc__open_adm_file(), which see. */svn_error_t *svn_wc__open_revert_base(apr_file_t **handle,                                      const char *file,                                      apr_int32_t flags,                                      apr_pool_t *pool);/* Close the text-base for FILE. * FP was obtained from svn_wc__open_text_base(). * Behaves like svn_wc__close_adm_file(), which see. */svn_error_t *svn_wc__close_text_base(apr_file_t *fp,                                     const char *file,                                     int sync,                                     apr_pool_t *pool);/* Close the revert-base for FILE. * FP was obtained from svn_wc__open_revert_base(). * Behaves like svn_wc__close_adm_file(), which see. */svn_error_t *svn_wc__close_revert_base(apr_file_t *fp,                                       const char *file,                                       int sync,                                       apr_pool_t *pool);/* Open the property file for PATH. * PATH can be any kind of path, either file or dir. * * If BASE is set, then the "pristine" property file will be opened. * If WCPROPS is set, then the "wc" property file will be opened. * * (Don't set BASE and WCPROPS at the same time; this is meaningless.) */svn_error_t *svn_wc__open_props(apr_file_t **handle,                                const char *path,                                apr_int32_t flags,                                svn_boolean_t base,                                svn_boolean_t wcprops,                                apr_pool_t *pool);/* Close the property file for PATH. * FP was obtained from svn_wc__open_props(). * * The BASE and WCPROPS must have the same state used to open the file! * * Like svn_wc__close_adm_file(), SYNC indicates the file should be * atomically written. */svn_error_t *svn_wc__close_props(apr_file_t *fp,                                 const char *path,                                 svn_boolean_t base,                                 svn_boolean_t wcprops,                                 int sync,                                 apr_pool_t *pool);/* Atomically rename a temporary property file to its canonical   location.  The tmp file should be closed already.    Again, BASE and WCPROPS flags should be identical to those used to   open the file. */svn_error_t *svn_wc__sync_props(const char *path,                                 svn_boolean_t base,                                svn_boolean_t wcprops,                                apr_pool_t *pool);/* Blow away the admistrative directory associated with the access baton   ADM_ACCESS. This closes ADM_ACCESS, but it is safe to close ADM_ACCESS   again, after calling this function. */svn_error_t *svn_wc__adm_destroy(svn_wc_adm_access_t *adm_access,                                 apr_pool_t *pool);/* Cleanup the temporary storage area of the administrative   directory. */svn_error_t *svn_wc__adm_cleanup_tmp_area(svn_wc_adm_access_t *adm_access,                                          apr_pool_t *pool);#ifdef __cplusplus}#endif /* __cplusplus */#endif /* SVN_LIBSVN_WC_ADM_FILES_H */

⌨️ 快捷键说明

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