📄 cl.h
字号:
/* * cl.h: shared stuff in the command line program * * ==================================================================== * Copyright (c) 2000-2006 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_CL_H#define SVN_CL_H/*** Includes. ***/#include <apr_tables.h>#include <apr_getopt.h>#include "svn_wc.h"#include "svn_client.h"#include "svn_string.h"#include "svn_opt.h"#include "svn_auth.h"#ifdef __cplusplusextern "C" {#endif /* __cplusplus *//*** Option processing ***//* Add an identifier here for long options that don't have a short option. Options that have both long and short options should just use the short option letter as identifier. */typedef enum { svn_cl__ancestor_path_opt = SVN_OPT_FIRST_LONGOPT_ID, svn_cl__auth_password_opt, svn_cl__auth_username_opt, svn_cl__autoprops_opt, svn_cl__config_dir_opt, svn_cl__diff_cmd_opt, svn_cl__dry_run_opt, svn_cl__editor_cmd_opt, svn_cl__encoding_opt, svn_cl__force_log_opt, svn_cl__force_opt, svn_cl__ignore_ancestry_opt, svn_cl__ignore_externals_opt, svn_cl__incremental_opt, svn_cl__limit_opt, svn_cl__merge_cmd_opt, svn_cl__native_eol_opt, svn_cl__new_cmd_opt, svn_cl__no_auth_cache_opt, svn_cl__no_autoprops_opt, svn_cl__no_diff_deleted, svn_cl__no_ignore_opt, svn_cl__no_unlock_opt, svn_cl__non_interactive_opt, svn_cl__notice_ancestry_opt, svn_cl__old_cmd_opt, svn_cl__relocate_opt, svn_cl__revprop_opt, svn_cl__stop_on_copy_opt, svn_cl__strict_opt, svn_cl__summarize, svn_cl__targets_opt, svn_cl__version_opt, svn_cl__xml_opt} svn_cl__longopt_t;/*** Command dispatch. ***//* Hold results of option processing that are shared by multiple commands. */typedef struct svn_cl__opt_state_t{ /* These get set as a result of revisions or dates being specified. When only one revision is given, it's start_revision, and end_revision remains `svn_opt_revision_unspecified'. */ svn_opt_revision_t start_revision, end_revision; /* Max number of log messages to get back from svn_client_log2. */ int limit; /* Note: these next two flags only reflect switches given on the commandline. For example, 'svn up' (with no options) will *not* set either of these flags, but will be recursive anyway */ svn_boolean_t recursive, nonrecursive; /* Was --no-unlock specified? */ svn_boolean_t no_unlock; const char *message; /* log message */ const char *ancestor_path; /* ### todo: who sets this? */ svn_boolean_t force; /* be more forceful, as in "svn rm -f ..." */ svn_boolean_t force_log; /* force validity of a suspect log msg file */ svn_boolean_t incremental; /* yield output suitable for concatenation */ svn_boolean_t quiet; /* sssh...avoid unnecessary output */ svn_boolean_t non_interactive; /* do no interactive prompting */ svn_boolean_t version; /* print version information */ svn_boolean_t verbose; /* be verbose */ svn_boolean_t update; /* contact the server for the full story */ svn_boolean_t strict; /* do strictly what was requested */ svn_stringbuf_t *filedata; /* contents of file used as option data */ const char *encoding; /* the locale/encoding of the data*/ svn_boolean_t help; /* print usage message */ const char *auth_username; /* auth username */ /* UTF-8! */ const char *auth_password; /* auth password */ /* UTF-8! */ const char *extensions; /* subprocess extension args */ /* UTF-8! */ apr_array_header_t *targets; /* target list from file */ /* UTF-8! */ svn_boolean_t xml; /* output in xml, e.g., "svn log --xml" */ svn_boolean_t no_ignore; /* disregard default ignores & svn:ignore's */ svn_boolean_t no_auth_cache; /* do not cache authentication information */ svn_boolean_t no_diff_deleted; /* do not show diffs for deleted files */ svn_boolean_t notice_ancestry; /* notice ancestry for diff-y operations */ svn_boolean_t ignore_ancestry; /* ignore ancestry for merge-y operations */ svn_boolean_t ignore_externals;/* ignore externals definitions */ svn_boolean_t stop_on_copy; /* don't cross copies during processing */ svn_boolean_t dry_run; /* try operation but make no changes */ svn_boolean_t revprop; /* operate on a revision property */ const char *diff_cmd; /* the external diff command to use */ const char *merge_cmd; /* the external merge command to use */ const char *editor_cmd; /* external editor command. */ const char *old_target; /* diff target */ const char *new_target; /* diff target */ svn_boolean_t relocate; /* rewrite urls (svn switch) */ const char * config_dir; /* over-riding configuration directory */ svn_boolean_t autoprops; /* enable automatic properties */ svn_boolean_t no_autoprops; /* disable automatic properties */ const char *native_eol; /* override system standard eol marker */ svn_boolean_t summarize; /* create a summary of a diff */} svn_cl__opt_state_t;typedef struct{ svn_cl__opt_state_t *opt_state; svn_client_ctx_t *ctx;} svn_cl__cmd_baton_t;/* Declare all the command procedures */svn_opt_subcommand_t svn_cl__add, svn_cl__blame, svn_cl__checkout, svn_cl__cleanup, svn_cl__commit, svn_cl__copy, svn_cl__delete, svn_cl__diff, svn_cl__export, svn_cl__help, svn_cl__import, svn_cl__info, svn_cl__lock, svn_cl__log, svn_cl__list, svn_cl__merge, svn_cl__mkdir, svn_cl__move, svn_cl__propdel, svn_cl__propedit, svn_cl__propget, svn_cl__proplist, svn_cl__propset, svn_cl__revert, svn_cl__resolved, svn_cl__status, svn_cl__switch, svn_cl__unlock, svn_cl__update, svn_cl__cat;/* See definition in main.c for documentation. */extern const svn_opt_subcommand_desc2_t svn_cl__cmd_table[];/* See definition in main.c for documentation. */extern const apr_getopt_option_t svn_cl__options[];/* A helper for the many subcommands that wish to merely warn when * invoked on an unversioned, nonexistent, or otherwise innocuously * errorful resource. Meant to be wrapped with SVN_ERR(). * * If ERR is null, return SVN_NO_ERROR, setting *SUCCESS to TRUE * if SUCCESS is not NULL. * * Else if ERR->apr_err is one of the error codes supplied in varargs, * then handle ERR as a warning (unless QUIET is true), clear ERR, and * return SVN_NO_ERROR, setting *SUCCESS to FALSE if SUCCESS is not * NULL. * * Else return ERR, setting *SUCCESS to FALSE if SUCCESS is not NULL. *
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -