📄 main.c
字号:
"current\n"
" working directory.\n"
"\n"
" With --verbose, the following fields show the status of the item:\n"
"\n"
" Revision number of the last commit\n"
" Author of the last commit\n"
" Size (in bytes)\n"
" Date and time of the last commit\n"),
{'r', 'v', 'R', SVN_CL__AUTH_OPTIONS, svn_cl__config_dir_opt} },
{ "log", svn_cl__log, {0},
N_("Show the log messages for a set of revision(s) and/or file(s).\n"
"usage: 1. log [PATH]\n"
" 2. log URL [PATH...]\n"
"\n"
" 1. Print the log messages for a local PATH (default: '.').\n"
" The default revision range is BASE:1.\n"
"\n"
" 2. Print the log messages for the PATHs (default: '.') under URL.\n"
" The default revision range is HEAD:1.\n"
"\n"
" With -v, also print all affected paths with each log message.\n"
" With -q, don't print the log message body itself (note that "
"this is\n"
" compatible with -v).\n"
"\n"
" Each log message is printed just once, even if more than one "
"of the\n"
" affected paths for that revision were explicitly requested. Logs\n"
" follow copy history by default. Use --stop-on-copy to "
"disable this\n"
" behavior, which can be useful for determining branchpoints.\n"
"\n"
" Examples:\n"
" svn log\n"
" svn log foo.c\n"
" svn log http://www.example.com/repo/project/foo.c\n"
" svn log http://www.example.com/repo/project foo.c bar.c\n"),
{'r', 'q', 'v', svn_cl__targets_opt, svn_cl__stop_on_copy_opt,
svn_cl__incremental_opt, svn_cl__xml_opt, SVN_CL__AUTH_OPTIONS,
svn_cl__config_dir_opt} },
{ "merge", svn_cl__merge, {0},
N_("Apply the differences between two sources to a working copy path.\n"
"usage: 1. merge sourceURL1[@N] sourceURL2[@M] [WCPATH]\n"
" 2. merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH]\n"
" 3. merge -r N:M SOURCE[@REV] [WCPATH]\n"
"\n"
" 1. In the first form, the source URLs are specified at revisions\n"
" N and M. These are the two sources to be compared. The "
"revisions\n"
" default to HEAD if omitted.\n"
"\n"
" 2. In the second form, the URLs corresponding to the source "
"working\n"
" copy paths define the sources to be compared. The revisions "
"must\n"
" be specified.\n"
"\n"
" 3. In the third form, SOURCE can be a URL, or working copy item\n"
" in which case the corresponding URL is used. This URL in\n"
" revision REV is compared as it existed between revisions N and \n"
" M. If REV is not specified, HEAD is assumed.\n"
"\n"
" WCPATH is the working copy path that will receive the changes.\n"
" If WCPATH is omitted, a default value of '.' is assumed, unless\n"
" the sources have identical basenames that match a file within '.':\n"
" in which case, the differences will be applied to that file.\n"),
{'r', 'N', 'q', svn_cl__force_opt, svn_cl__dry_run_opt,
svn_cl__merge_cmd_opt, svn_cl__ignore_ancestry_opt,
SVN_CL__AUTH_OPTIONS, svn_cl__config_dir_opt} },
{ "mkdir", svn_cl__mkdir, {0},
N_("Create a new directory under version control.\n"
"usage: 1. mkdir PATH...\n"
" 2. mkdir URL...\n"
"\n"
" Create version controlled directories.\n"
"\n"
" 1. Each directory specified by a working copy PATH is created "
"locally\n"
" and scheduled for addition upon the next commit.\n"
"\n"
" 2. Each directory specified by a URL is created in the repository "
"via\n"
" an immediate commit.\n"
"\n"
" In both cases, all the intermediate directories must already "
"exist.\n"),
{'m', 'F', 'q', SVN_CL__AUTH_OPTIONS, svn_cl__editor_cmd_opt,
svn_cl__encoding_opt, svn_cl__force_log_opt, svn_cl__config_dir_opt} },
{ "move", svn_cl__move, {"mv", "rename", "ren"},
N_("Move and/or rename something in working copy or repository.\n"
"usage: move SRC DST\n"
"\n"
" Note: this subcommand is equivalent to a 'copy' and 'delete'.\n"
"\n"
" SRC and DST can both be working copy (WC) paths or URLs:\n"
" WC -> WC: move and schedule for addition (with history)\n"
" URL -> URL: complete server-side rename.\n"),
{'m', 'F', 'r', 'q', svn_cl__force_opt, SVN_CL__AUTH_OPTIONS,
svn_cl__editor_cmd_opt, svn_cl__encoding_opt, svn_cl__force_log_opt,
svn_cl__config_dir_opt} },
{ "propdel", svn_cl__propdel, {"pdel", "pd"},
N_("Remove PROPNAME from files, dirs, or revisions.\n"
"usage: 1. propdel PROPNAME [PATH...]\n"
" 2. propdel PROPNAME --revprop -r REV [URL]\n"
"\n"
" 1. Removes versioned props in working copy.\n"
" 2. Removes unversioned remote prop on repos revision.\n"),
{'q', 'R', 'r', svn_cl__revprop_opt, SVN_CL__AUTH_OPTIONS,
svn_cl__config_dir_opt} },
{ "propedit", svn_cl__propedit, {"pedit", "pe"},
N_("Edit property PROPNAME with an external editor on targets.\n"
"usage: 1. propedit PROPNAME PATH...\n"
" 2. propedit PROPNAME --revprop -r REV [URL]\n"
"\n"
" 1. Edits versioned props in working copy.\n"
" 2. Edits unversioned remote prop on repos revision.\n"),
{'r', svn_cl__revprop_opt, SVN_CL__AUTH_OPTIONS,
svn_cl__encoding_opt, svn_cl__editor_cmd_opt, svn_cl__force_opt,
svn_cl__config_dir_opt} },
{ "propget", svn_cl__propget, {"pget", "pg"},
N_("Print value of PROPNAME on files, dirs, or revisions.\n"
"usage: 1. propget PROPNAME [PATH...]\n"
" 2. propget PROPNAME --revprop -r REV [URL]\n"
"\n"
" 1. Prints versioned prop in working copy.\n"
" 2. Prints unversioned remote prop on repos revision.\n"
"\n"
" By default, this subcommand will add an extra newline to the end\n"
" of the property values so that the output looks pretty. Also,\n"
" whenever there are multiple paths involved, each property value\n"
" is prefixed with the path with which it is associated. Use\n"
" the --strict option to disable these beautifications (useful,\n"
" for example, when redirecting binary property values to a file).\n"),
{'R', 'r', svn_cl__revprop_opt, svn_cl__strict_opt,
SVN_CL__AUTH_OPTIONS, svn_cl__config_dir_opt} },
{ "proplist", svn_cl__proplist, {"plist", "pl"},
N_("List all properties on files, dirs, or revisions.\n"
"usage: 1. proplist [PATH...]\n"
" 2. proplist --revprop -r REV [URL]\n"
"\n"
" 1. Lists versioned props in working copy.\n"
" 2. Lists unversioned remote props on repos revision.\n"),
{'v', 'R', 'r', 'q', svn_cl__revprop_opt, SVN_CL__AUTH_OPTIONS,
svn_cl__config_dir_opt} },
{ "propset", svn_cl__propset, {"pset", "ps"},
N_("Set PROPNAME to PROPVAL on files, dirs, or revisions.\n"
"usage: 1. propset PROPNAME [PROPVAL | -F VALFILE] PATH...\n"
" 2. propset PROPNAME --revprop -r REV [PROPVAL | -F VALFILE] "
"[URL]\n"
"\n"
" 1. Creates a versioned, local propchange in working copy.\n"
" 2. Creates an unversioned, remote propchange on repos revision.\n"
"\n"
" Note: svn recognizes the following special versioned properties\n"
" but will store any arbitrary properties set:\n"
" svn:ignore - A newline separated list of file patterns to "
"ignore.\n"
" svn:keywords - Keywords to be expanded. Valid keywords are:\n"
" URL, HeadURL - The URL for the head version of "
"the object.\n"
" Author, LastChangedBy - The last person to modify the file.\n"
" Date, LastChangedDate - The date/time the object was last "
"modified.\n"
" Rev, Revision, - The last revision the object "
"changed.\n"
" LastChangedRevision\n"
" Id - A compressed summary of the "
"previous\n"
" 4 keywords.\n"
" svn:executable - If present, make the file executable. This\n"
" property cannot be set on a directory. A non-recursive "
"attempt\n"
" will fail, and a recursive attempt will set the property only\n"
" on the file children of the directory.\n"
" svn:eol-style - One of 'native', 'LF', 'CR', 'CRLF'.\n"
" svn:mime-type - The mimetype of the file. Used to determine\n"
" whether to merge the file, and how to serve it from Apache.\n"
" A mimetype beginning with 'text/' (or an absent mimetype) is\n"
" treated as text. Anything else is treated as binary.\n"
" svn:externals - A newline separated list of module specifiers,\n"
" each of which consists of a relative directory path, optional\n"
" revision flags, and an URL. For example\n"
" foo http://example.com/repos/zig\n"
" foo/bar -r 1234 http://example.com/repos/zag\n"),
{'F', 'q', 'r', svn_cl__targets_opt, 'R', svn_cl__revprop_opt,
SVN_CL__AUTH_OPTIONS, svn_cl__encoding_opt, svn_cl__force_opt,
svn_cl__config_dir_opt} },
{ "resolved", svn_cl__resolved, {0},
N_("Remove 'conflicted' state on working copy files or directories.\n"
"usage: resolved PATH...\n"
"\n"
" Note: this subcommand does not semantically resolve conflicts or\n"
" remove conflict markers; it merely removes the conflict-related\n"
" artifact files and allows PATH to be committed again.\n"),
{svn_cl__targets_opt, 'R', 'q', svn_cl__config_dir_opt} },
{ "revert", svn_cl__revert, {0},
N_("Restore pristine working copy file (undo most local edits).\n"
"usage: revert PATH...\n"
"\n"
" Note: this subcommand does not require network access, and "
"resolves\n"
" any conflicted states. However, it does not restore removed "
"directories.\n"),
{svn_cl__targets_opt, 'R', 'q', svn_cl__config_dir_opt} },
{ "status", svn_cl__status, {"stat", "st"}, N_
("Print the status of working copy files and directories.\n"
"usage: status [PATH...]\n"
"\n"
" With no args, print only locally modified items (no network access).\n"
" With -u, add working revision and server out-of-date information.\n"
" With -v, print full revision information on every item.\n"
"\n"
" The first five columns in the output are each one character wide:\n"
" First column: Says if item was added, deleted, or otherwise "
"changed\n"
" ' ' no modifications\n"
" 'A' Added\n"
" 'C' Conflicted\n"
" 'D' Deleted\n"
" 'G' Merged\n"
" 'I' Ignored\n"
" 'M' Modified\n"
" 'R' Replaced\n"
" 'X' item is unversioned, but is used by an externals definition\n"
" '?' item is not under version control\n"
" '!' item is missing (removed by non-svn command) or incomplete\n"
" '~' versioned item obstructed by some item of a different kind\n"
" Second column: Modifications of a file's or directory's properties\n"
" ' ' no modifications\n"
" 'C' Conflicted\n"
" 'M' Modified\n"
" Third column: Whether the working copy directory is locked\n"
" ' ' not locked\n"
" 'L' locked\n"
" Fourth column: Scheduled commit will contain addition-with-history\n"
" ' ' no history scheduled with commit\n"
" '+' history scheduled with commit\n"
" Fifth column: Whether the item is switched relative to its parent\n"
" ' ' normal\n"
" 'S' switched\n"
"\n"
" The out-of-date information appears in the eighth column (with -u):\n"
" '*' a newer revision exists on the server\n"
" ' ' the working copy is up to date\n"
"\n"
" Remaining fields are variable width and delimited by spaces:\n"
" The working revision (with -u or -v)\n"
" The last committed revision and last committed author (with -v)\n"
" The working copy path is always the final field, so it can\n"
" include spaces.\n"
"\n"
" Example output:\n"
" svn status wc\n"
" M wc/bar.c\n"
" A + wc/qax.c\n"
"\n"
" svn status -u wc\n"
" M 965 wc/bar.c\n"
" * 965 wc/foo.c\n"
" A + 965 wc/qax.c\n"
" Head revision: 981\n"
"\n"
" svn status --show-updates --verbose wc\n"
" M 965 938 kfogel wc/bar.c\n"
" * 965 922 sussman wc/foo.c\n"
" A + 965 687 joe wc/qax.c\n"
" 965 687 joe wc/zig.c\n"
" Head revision: 981\n"),
{ 'u', 'v', 'N', 'q', svn_cl__no_ignore_opt, SVN_CL__AUTH_OPTIONS,
svn_cl__config_dir_opt} },
{ "switch", svn_cl__switch, {"sw"},
N_("Update the working copy to a different URL.\n"
"usage: 1. switch URL [PATH]\n"
" 2. switch --relocate FROM TO [PATH...]\n"
"\n"
" 1. Update the working copy to mirror a new URL within the "
"repository.\n"
" This behaviour is similar to 'svn update', and is the way to\n"
" move a working copy to a branch or tag within the same "
"repository.\n"
"\n"
" 2. Rewrite working copy URL metadata to reflect a syntactic change "
"only.\n"
" This is used when repository's root URL changes (such as a "
"schema\n"
" or hostname change) but your working copy still reflects the "
"same\n"
" directory within the same repository.\n"),
{ 'r', 'N', 'q', svn_cl__merge_cmd_opt, svn_cl__relocate_opt,
SVN_CL__AUTH_OPTIONS, svn_cl__config_dir_opt} },
{ "update", svn_cl__update, {"up"},
N_("Bring changes from the repository into the working copy.\n"
"usage: update [PATH...]\n"
"\n"
" If no revision given, bring working copy up-to-date with HEAD rev.\n"
" Else synchronize working copy to revision given by -r.\n"
"\n"
" For each updated item a line will start with a character reporting "
"the\n"
" action taken. These characters have the following meaning:\n"
"\n"
" A Added\n"
" D Deleted\n"
" U Updated\n"
" C Conflict\n"
" G Merged\n"
"\n"
" A character in the first column signifies an update to the actual "
"file,\n"
" while updates to the file's properties are shown in the second "
"column.\n"),
{'r', 'N', 'q', svn_cl__merge_cmd_opt, SVN_CL__AUTH_OPTIONS,
svn_cl__config_dir_opt} },
{ NULL, NULL, {0}, NULL, {0} }
};
/* Standard error handler */
static int
error_exit (svn_error_t *err, FILE *stream, svn_boolean_t fatal,
apr_pool_t *pool)
{
svn_handle_error (err, stderr, fatal);
svn_error_clear (err);
svn_pool_destroy (pool);
return EXIT_FAILURE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -