📄 diff.h
字号:
/* * diff.h : private header file * * ==================================================================== * 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/. * ==================================================================== */#if !defined(DIFF_H)#define DIFF_H#include <apr.h>#include <apr_pools.h>#include <apr_general.h>#include "svn_diff.h"#include "svn_types.h"typedef struct svn_diff__node_t svn_diff__node_t;typedef struct svn_diff__tree_t svn_diff__tree_t;typedef struct svn_diff__position_t svn_diff__position_t;typedef struct svn_diff__lcs_t svn_diff__lcs_t;typedef enum svn_diff__type_e{ svn_diff__type_common, svn_diff__type_diff_modified, svn_diff__type_diff_latest, svn_diff__type_diff_common, svn_diff__type_conflict} svn_diff__type_e;struct svn_diff_t { svn_diff_t *next; svn_diff__type_e type; apr_off_t original_start; apr_off_t original_length; apr_off_t modified_start; apr_off_t modified_length; apr_off_t latest_start; apr_off_t latest_length; svn_diff_t *resolved_diff;};struct svn_diff__position_t{ svn_diff__position_t *next; svn_diff__node_t *node; apr_off_t offset;};struct svn_diff__lcs_t{ svn_diff__lcs_t *next; svn_diff__position_t *position[2]; apr_off_t length; int refcount;};svn_diff__lcs_t *svn_diff__lcs(svn_diff__position_t *position_list1, /* pointer to tail (ring) */ svn_diff__position_t *position_list2, /* pointer to tail (ring) */ apr_pool_t *pool); /* * Support functions to build a tree of token positions */voidsvn_diff__tree_create(svn_diff__tree_t **tree, apr_pool_t *pool);/* * Get all tokens from a datasource. Return the * last item in the (circular) list. */svn_error_t *svn_diff__get_tokens(svn_diff__position_t **position_list, svn_diff__tree_t *tree, void *diff_baton, const svn_diff_fns_t *vtable, svn_diff_datasource_e datasource, apr_pool_t *pool);/* Morph a svn_lcs_t into a svn_diff_t. */svn_diff_t *svn_diff__diff(svn_diff__lcs_t *lcs, apr_off_t original_start, apr_off_t modified_start, svn_boolean_t want_common, apr_pool_t *pool);voidsvn_diff__resolve_conflict(svn_diff_t *hunk, svn_diff__position_t **position_list1, svn_diff__position_t **position_list2, apr_pool_t *pool);/** * Return an adler32 checksum based on CHECKSUM, updated with * DATA of size LEN. */apr_uint32_tsvn_diff__adler32(apr_uint32_t checksum, const char *data, apr_size_t len);#endif /* DIFF_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -