#ifndef SVN_LIBSVN_WC_ENTRIES_H
#define SVN_LIBSVN_WC_ENTRIES_H
#include <apr_pools.h>
#include "svn_types.h"
#ifdef __cplusplus
extern "C" {
#endif
#define SVN_WC__ENTRIES_TOPLEVEL "wc-entries"
#define SVN_WC__ENTRIES_ENTRY "entry"
#define SVN_WC__ENTRIES_ATTR_FILE_STR "file"
#define SVN_WC__ENTRIES_ATTR_DIR_STR "dir"
#define SVN_WC__ENTRY_ATTR_NAME "name"
#define SVN_WC__ENTRY_ATTR_REVISION "revision"
#define SVN_WC__ENTRY_ATTR_URL "url"
#define SVN_WC__ENTRY_ATTR_REPOS "repos"
#define SVN_WC__ENTRY_ATTR_KIND "kind"
#define SVN_WC__ENTRY_ATTR_TEXT_TIME "text-time"
#define SVN_WC__ENTRY_ATTR_PROP_TIME "prop-time"
#define SVN_WC__ENTRY_ATTR_CHECKSUM "checksum"
#define SVN_WC__ENTRY_ATTR_SCHEDULE "schedule"
#define SVN_WC__ENTRY_ATTR_COPIED "copied"
#define SVN_WC__ENTRY_ATTR_DELETED "deleted"
#define SVN_WC__ENTRY_ATTR_ABSENT "absent"
#define SVN_WC__ENTRY_ATTR_COPYFROM_URL "copyfrom-url"
#define SVN_WC__ENTRY_ATTR_COPYFROM_REV "copyfrom-rev"
#define SVN_WC__ENTRY_ATTR_CONFLICT_OLD "conflict-old"
#define SVN_WC__ENTRY_ATTR_CONFLICT_NEW "conflict-new"
#define SVN_WC__ENTRY_ATTR_CONFLICT_WRK "conflict-wrk"
#define SVN_WC__ENTRY_ATTR_PREJFILE "prop-reject-file"
#define SVN_WC__ENTRY_ATTR_CMT_REV "committed-rev"
#define SVN_WC__ENTRY_ATTR_CMT_DATE "committed-date"
#define SVN_WC__ENTRY_ATTR_CMT_AUTHOR "last-author"
#define SVN_WC__ENTRY_ATTR_UUID "uuid"
#define SVN_WC__ENTRY_ATTR_INCOMPLETE "incomplete"
#define SVN_WC__ENTRY_ATTR_LOCK_TOKEN "lock-token"
#define SVN_WC__ENTRY_ATTR_LOCK_OWNER "lock-owner"
#define SVN_WC__ENTRY_ATTR_LOCK_COMMENT "lock-comment"
#define SVN_WC__ENTRY_ATTR_LOCK_CREATION_DATE "lock-creation-date"
#define SVN_WC__ENTRY_ATTR_HAS_PROPS "has-props"
#define SVN_WC__ENTRY_ATTR_HAS_PROP_MODS "has-prop-mods"
#define SVN_WC__ENTRY_ATTR_CACHABLE_PROPS "cachable-props"
#define SVN_WC__ENTRY_ATTR_PRESENT_PROPS "present-props"
#define SVN_WC__ENTRY_VALUE_ADD "add"
#define SVN_WC__ENTRY_VALUE_DELETE "delete"
#define SVN_WC__ENTRY_VALUE_REPLACE "replace"
svn_error_t *svn_wc__entries_init(const char *path,
const char *uuid,
const char *url,
const char *repos,
svn_revnum_t initial_rev,
apr_pool_t *pool);
svn_error_t *svn_wc__entries_write(apr_hash_t *entries,
svn_wc_adm_access_t *adm_access,
apr_pool_t *pool);
svn_error_t *svn_wc__atts_to_entry(svn_wc_entry_t **new_entry,
apr_uint32_t *modify_flags,
apr_hash_t *atts,
apr_pool_t *pool);
#define SVN_WC__ENTRY_MODIFY_REVISION 0x00000001
#define SVN_WC__ENTRY_MODIFY_URL 0x00000002
#define SVN_WC__ENTRY_MODIFY_REPOS 0x00000004
#define SVN_WC__ENTRY_MODIFY_KIND 0x00000008
#define SVN_WC__ENTRY_MODIFY_TEXT_TIME 0x00000010
#define SVN_WC__ENTRY_MODIFY_PROP_TIME 0x00000020
#define SVN_WC__ENTRY_MODIFY_CHECKSUM 0x00000040
#define SVN_WC__ENTRY_MODIFY_SCHEDULE 0x00000080
#define SVN_WC__ENTRY_MODIFY_COPIED 0x00000100
#define SVN_WC__ENTRY_MODIFY_DELETED 0x00000200
#define SVN_WC__ENTRY_MODIFY_COPYFROM_URL 0x00000400
#define SVN_WC__ENTRY_MODIFY_COPYFROM_REV 0x00000800
#define SVN_WC__ENTRY_MODIFY_CONFLICT_OLD 0x00001000
#define SVN_WC__ENTRY_MODIFY_CONFLICT_NEW 0x00002000
#define SVN_WC__ENTRY_MODIFY_CONFLICT_WRK 0x00004000
#define SVN_WC__ENTRY_MODIFY_PREJFILE 0x00008000
#define SVN_WC__ENTRY_MODIFY_CMT_REV 0x00010000
#define SVN_WC__ENTRY_MODIFY_CMT_DATE 0x00020000
#define SVN_WC__ENTRY_MODIFY_CMT_AUTHOR 0x00040000
#define SVN_WC__ENTRY_MODIFY_UUID 0x00080000
#define SVN_WC__ENTRY_MODIFY_INCOMPLETE 0x00100000
#define SVN_WC__ENTRY_MODIFY_ABSENT 0x00200000
#define SVN_WC__ENTRY_MODIFY_LOCK_TOKEN 0x00400000
#define SVN_WC__ENTRY_MODIFY_LOCK_OWNER 0x00800000
#define SVN_WC__ENTRY_MODIFY_LOCK_COMMENT 0x01000000
#define SVN_WC__ENTRY_MODIFY_LOCK_CREATION_DATE 0x02000000
#define SVN_WC__ENTRY_MODIFY_HAS_PROPS 0x04000000
#define SVN_WC__ENTRY_MODIFY_HAS_PROP_MODS 0x08000000
#define SVN_WC__ENTRY_MODIFY_CACHABLE_PROPS 0x10000000
#define SVN_WC__ENTRY_MODIFY_PRESENT_PROPS 0x20000000
#define SVN_WC__ENTRY_MODIFY_ALL 0x7FFFFFFF
#define SVN_WC__ENTRY_MODIFY_FORCE 0x80000000
svn_error_t *svn_wc__entry_modify(svn_wc_adm_access_t *adm_access,
const char *name,
svn_wc_entry_t *entry,
apr_uint32_t modify_flags,
svn_boolean_t do_sync,
apr_pool_t *pool);
void svn_wc__entry_remove(apr_hash_t *entries, const char *name);
svn_error_t *
svn_wc__tweak_entry(apr_hash_t *entries,
const char *name,
const char *new_url,
const char *repos,
svn_revnum_t new_rev,
svn_boolean_t allow_removal,
svn_boolean_t *write_required,
apr_pool_t *pool);
#ifdef __cplusplus
}
#endif
#endif