/**
* @copyright
* ====================================================================
* Copyright (c) 2000-2007 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/.
* ====================================================================
* @endcopyright
*
* @file svn_wc.h
* @brief Subversion's working copy library
*
* Requires:
* - A working copy
*
* Provides:
* - Ability to manipulate working copy's versioned data.
* - Ability to manipulate working copy's administrative files.
*
* Used By:
* - Clients.
*/
#ifndef SVN_WC_H
#define SVN_WC_H
#include <apr.h>
#include <apr_pools.h>
#include <apr_tables.h>
#include <apr_hash.h>
#include "svn_types.h"
#include "svn_string.h"
#include "svn_delta.h"
#include "svn_error.h"
#include "svn_opt.h"
#include "svn_ra.h" /* for svn_ra_reporter_t type */
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/**
* Get libsvn_wc version information.
*
* @since New in 1.1.
*/
const svn_version_t *svn_wc_version(void);
/**
* @defgroup svn_wc Working copy management
* @{
*/
/** Flags for use with svn_wc_translated_file2
*
* @defgroup translate_flags Translation flags
*
* @{
*/
/** Translate from Normal Form.
*
* The working copy text bases and repository files are stored
* in normal form. Some files' contents - or ever representation -
* differs between the working copy and the normal form. This flag
* specifies to take the latter form as input and transform it
* to the former.
*
* Either this flag or @c SVN_WC_TRANSLATE_TO_NF should be specified,
* but not both.
*/
#define SVN_WC_TRANSLATE_FROM_NF 0x00000000
/** Translate to Normal Form.
*
* Either this flag or @c SVN_WC_TRANSLATE_FROM_NF should be specified,
* but not both.
*/
#define SVN_WC_TRANSLATE_TO_NF 0x00000001
/** Force repair of eol styles, making sure the output file consistently
* contains the one eol style as specified by the svn:eol-style
* property and the required translation direction.
*
*/
#define SVN_WC_TRANSLATE_FORCE_EOL_REPAIR 0x00000002
/** Don't register a pool cleanup to delete the output file */
#define SVN_WC_TRANSLATE_NO_OUTPUT_CLEANUP 0x00000004
/** Guarantee a new file is created on successful return.
* The default shortcuts translation by returning the path
* of the untranslated file when no translation is required.
*/
#define SVN_WC_TRANSLATE_FORCE_COPY 0x00000008
/** Use a non-wc-local tmp directory for creating output files,
* instead of in the working copy admin tmp area which is the default.
*
* @since New in 1.4.
*/
#define SVN_WC_TRANSLATE_USE_GLOBAL_TMP 0x00000010
/** @} */
/* Locking/Opening/Closing */
/** Baton for access to a working copy administrative area.
*
* One day all such access will require a baton, we're not there yet.
*
* Access batons can be grouped into sets, by passing an existing open
* baton when opening a new baton. Given one baton in a set, other batons
* may be retrieved. This allows an entire hierarchy to be locked, and
* then the set of batons can be passed around by passing a single baton.
*/
typedef struct svn_wc_adm_access_t svn_wc_adm_access_t;
/**
* Return, in @a *adm_access, a pointer to a new access baton for the working
* copy administrative area associated with the directory @a path. If
* @a write_lock is TRUE the baton will include a write lock, otherwise the
* baton can only be used for read access. If @a path refers to a directory
* that is already write locked then the error @c SVN_ERR_WC_LOCKED will be
* returned. The error @c SVN_ERR_WC_NOT_DIRECTORY will be returned if
* @a path is not a versioned directory.
*
* If @a associated is an open access baton then @a adm_access will be added
* to the set containing @a associated. @a associated can be @c NULL, in
* which case @a adm_access is the start of a new set.
*
* @a levels_to_lock specifies how far to lock. Zero means just the specified
* directory. Any negative value means to lock the entire working copy
* directory hierarchy under @a path. A positive value indicates the number of
* levels of directories to lock -- 1 means just immediate subdirectories, 2
* means immediate subdirectories and their subdirectories, etc. All the
* access batons will become part of the set containing @a adm_access. This
* is an all-or-nothing option, if it is not possible to lock all the
* requested directories then an error will be returned and @a adm_access will
* be invalid, with the exception that subdirectories of @a path that are
* missing from the physical filesystem will not be locked and will not cause
* an error. The error @c SVN_ERR_WC_LOCKED will be returned if a
* subdirectory of @a path is already write locked.
*
* If @a cancel_func is non-NULL, call it with @a cancel_baton to determine
* if the client has cancelled the operation.
*
* @a pool will be used to allocate memory for the baton and any subsequently
* cached items. If @a adm_access has not been closed when the pool is
* cleared, it will be closed automatically at that point, and removed from
* its set. A baton closed in this way will not remove physical locks from
* the working copy if cleanup is required.
*
* The first baton in a set, with @a associated passed as @c NULL, must have
* the longest lifetime of all the batons in the set. This implies it must be
* the root of the hierarchy.
*
* @since New in 1.2.
*/
svn_error_t *
svn_wc_adm_open3(svn_wc_adm_access_t **adm_access,
svn_wc_adm_access_t *associated,
const char *path,
svn_boolean_t write_lock,
int levels_to_lock,
svn_cancel_func_t cancel_func,
void *cancel_baton,
apr_pool_t *pool);
/**
* Similar to svn_wc_adm_open3(), but without cancellation support.
*
* @deprecated Provided for backward compatibility with the 1.1 API.
*/
svn_error_t *
svn_wc_adm_open2(svn_wc_adm_access_t **adm_access,
svn_wc_adm_access_t *associated,
const char *path,
svn_boolean_t write_lock,
int levels_to_lock,
apr_pool_t *pool);
/**
* Similar to svn_wc_adm_open2(), but with @a tree_lock instead of
* @a levels_to_lock. @a levels_to_lock is set to -1 if @a tree_lock
* is @c TRUE, else 0.
*
* @deprecated Provided for backward compatibility with the 1.0 API.
*/
svn_error_t *
svn_wc_adm_open(svn_wc_adm_access_t **adm_access,
svn_wc_adm_access_t *associated,
const char *path,
svn_boolean_t write_lock,
svn_boolean_t tree_lock,
apr_pool_t *pool);
/**
* Checks the working copy to determine the node type of @a path. If
* @a path is a versioned directory then the behaviour is like that of
* svn_wc_adm_open3(), otherwise, if @a path is a file or does not
* exist, then the behaviour is like that of svn_wc_adm_open3() with
* @a path replaced by the parent directory of @a path. If @a path is
* an unversioned directory, the behaviour is also like that o
没有合适的资源?快使用搜索试试~ 我知道了~
svn-win32-1.5.5_dev.zip(详细配置svn文档)
共453个文件
html:303个
h:109个
lib:31个
需积分: 4 20 下载量 45 浏览量
2009-03-04
13:27:00
上传
评论
收藏 5.41MB ZIP 举报
温馨提示
是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
资源推荐
资源详情
资源评论
收起资源包目录
svn-win32-1.5.5_dev.zip(详细配置svn文档) (453个子文件)
doxygen.css 9KB
tabs.css 2KB
tab_r.gif 3KB
tab_l.gif 706B
tab_b.gif 35B
svn_wc.h 181KB
svn_client.h 162KB
svn_repos.h 99KB
svn_ra.h 81KB
svn_fs.h 72KB
apr_buckets.h 60KB
apr_errno.h 54KB
svn_delta.h 48KB
svn_io.h 48KB
svn_error_codes.h 43KB
apr_file_io.h 39KB
apr_thread_proc.h 35KB
apr_network_io.h 33KB
svn_auth.h 32KB
svn_types.h 29KB
apr_pools.h 27KB
svn_diff.h 26KB
svn_opt.h 25KB
apr_dbd.h 24KB
svn_path.h 21KB
apr_ring.h 19KB
svn_config.h 19KB
svn_subst.h 19KB
apr_portable.h 19KB
apr.h 18KB
apr_file_info.h 18KB
apr_tables.h 17KB
apr_memcache.h 17KB
svn_ra_svn.h 17KB
svn_mergeinfo.h 17KB
svn_props.h 15KB
apr_strings.h 14KB
svn_string.h 13KB
apr_xml.h 12KB
svn_xml.h 12KB
apr_thread_pool.h 11KB
apr_poll.h 11KB
svn_error.h 10KB
svn_cmdline.h 10KB
apr_ldap_option.h 9KB
apr_hooks.h 9KB
apr_lib.h 8KB
apr_dbm.h 8KB
apr_hash.h 8KB
svn_utf.h 8KB
apr_time.h 7KB
svn_hash.h 7KB
apr_general.h 7KB
svn_version.h 7KB
apr_uri.h 7KB
svn_dav.h 7KB
apr_xlate.h 6KB
apr_sdbm.h 6KB
svn_ctype.h 6KB
apr_fnmatch.h 6KB
apr_proc_mutex.h 6KB
apr_getopt.h 6KB
apr_ldap_init.h 6KB
apr_global_mutex.h 6KB
apr_ldap.h 6KB
apr_md5.h 6KB
apr_reslist.h 6KB
apr_thread_cond.h 6KB
apr_shm.h 5KB
apr_iconv.h 5KB
apr_allocator.h 5KB
apr_user.h 5KB
apr_version.h 5KB
apr_mmap.h 5KB
apr_random.h 5KB
apr_anylock.h 5KB
svn_sorts.h 5KB
apr_rmm.h 5KB
apr_thread_rwlock.h 5KB
apr_md4.h 5KB
apu.h 4KB
apr_atomic.h 4KB
apu_version.h 4KB
apr_queue.h 4KB
svn_iter.h 4KB
api_version.h 4KB
apr_sha1.h 4KB
apr_optional_hooks.h 4KB
apr_thread_mutex.h 4KB
apr_base64.h 4KB
apr_ldap_url.h 4KB
apr_date.h 4KB
svn_compat.h 3KB
mod_dav_svn.h 3KB
apr_want.h 3KB
apr_ldap_rebind.h 3KB
apr_optional.h 3KB
apr_signal.h 3KB
svn_base64.h 3KB
apr_dso.h 3KB
共 453 条
- 1
- 2
- 3
- 4
- 5
资源评论
talangzhang
- 粉丝: 1
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功