/*
* Copyright 1995-2010 Perforce Software. All rights reserved.
*
* This file is part of Perforce - the FAST SCM System.
*/
/*
* msghelp.cc - definitions of errors for help subsystem.
*
* Note:
*
* Never re-use an error code value, these may have already been
* translated and while deleting the error is OKAY using it for a
* different error is not.
*
* Its okay to add a message in the middle of the file.
*
* When adding a new error make sure its greater than the current high
* value and update the following number:
*
* Current high value for a MsgHelp error code is: 193
*/
# define NEED_SMARTHEAP
# include <stdhdrs.h>
# include <error.h>
# include <errornum.h>
# include "msghelp.h"
ErrorId MsgHelp::NoHelp = { ErrorOf( ES_HELP, 1, E_FAILED, EV_USAGE, 1 ),
"No help for %command%."
} ;
ErrorId MsgHelp::HelpPerforce = { ErrorOf( ES_HELP, 11, E_INFO, EV_NONE, 2 ),
"\n"
" Perforce -- the Fast Software Configuration Management System.\n"
"\n"
" p4 is Perforce's client tool for the command line. Try:\n"
"\n"
" p4 help simple list most common commands\n"
" p4 help commands list all standard commands\n"
" p4 help command help on a specific command\n"
"\n"
" p4 help administration help on specialized administration topics\n"
" p4 help charset help on character set translation\n"
" p4 help configurables list server configuration variables\n"
" p4 help environment list environment and registry variables\n"
" p4 help filetypes list supported file types\n"
" p4 help jobview help on jobview syntax\n"
" p4 help networkaddress help on network address syntax\n"
" p4 help revisions help on specifying file revisions\n"
" p4 help streamintro introduction to streams\n"
" p4 help usage generic command line arguments\n"
" p4 help views help on view syntax\n"
" p4 help replication help on specialized replication topics\n"
" p4 help dvcs help on decentralized Perforce configurations\n"
"\n"
" p4 help legal legal and license information\n"
"\n"
" The full user manual is available at http://www.perforce.com/manual.\n"
"\n"
" Server %release_id%/%patch_id%.\n"
};
ErrorId MsgHelp::HelpUsage = { ErrorOf( ES_HELP, 12, E_INFO, EV_NONE, 0 ),
"\n"
" Perforce client usage:\n"
"\n"
" p4 [options] command [--explain] [arg ...]\n"
" p4 -V\n"
"\n"
" Many command flags have both short-form and long-form syntax. Specify\n"
" the --explain flag to display additional information about the flags\n"
" accepted by this command. For example, 'p4 sync --explain' to display\n"
" all the options supported by sync, or 'p4 edit --explain -k' to\n"
" display information about the -k flag to edit.\n"
"\n"
" options:\n"
" -b batchsize -c client -C charset -d dir -H host\n"
" -I -G -L language -p port -P pass -q -r retries -s\n"
" -Q charset -u user -x file -z tag\n"
"\n"
" The -b batchsize specifies a batch size (number of arguments) to\n"
" use when processing a command from a file '-x' (default 128).\n"
"\n"
" The -c flag specifies the client name, overriding the value of\n"
" $P4CLIENT in the environment and the default (the hostname).\n"
"\n"
" The -C flag specifies the client's character set, overriding the\n"
" value of $P4CHARSET in the environment. See 'p4 help charset'\n"
" for more information.\n"
"\n"
" The -d flag specifies the current directory, overriding the value of\n"
" $PWD in the environment and the default (the current directory).\n"
"\n"
" The -G flag formats all output (and batch input for form commands\n"
" with -i) as marshalled Python dictionary objects.\n"
"\n"
" The -H flag specifies the host name, overriding the value of\n"
" $P4HOST in the environment and the default (the hostname).\n"
"\n"
" The -I flag specifies that progress indicators, if available,\n"
" are desired. Progress indicators are available for the commands:\n"
" 'p4 -I submit', 'p4 -I sync -q', 'p4 -I switch', 'p4 clone',\n"
" 'p4 -I fetch', 'p4 -I push', 'p4 -I zip', and 'p4 -I unzip'.\n"
" This flag is not compatible with the -s, -e, -G options.\n"
"\n"
" The -L flag specifies the language for text messages from the\n"
" server, overriding the value of $P4LANGUAGE in the environment.\n"
" Setting this option only works if the administrator has loaded\n"
" support for non-English messages into the server database.\n"
"\n"
" The -p flag specifies the server's listen address, overriding the\n"
" value of $P4PORT in the environment and the default (perforce:1666).\n"
"\n"
" The -P flag specifies the password, overriding the value of\n"
" $P4PASSWD in the environment.\n"
"\n"
" The -q flag suppresses all info messages.\n"
"\n"
" The -Q flag specifies the client's command character set,\n"
" overriding the value of $P4COMMANDCHARSET in the environment.\n"
" See 'p4 help charset' for more information.\n"
"\n"
" The -r flag specifies the number of times a sync command should be\n"
" retried if the network times out (takes longer than N seconds to\n"
" respond to a single I/O operation) during sync command execution.\n"
" For example:\n"
" p4 -r4 -vnet.maxwait=300 sync //...\n"
" specifies to retry this 'sync' up to 4 times, should any single\n"
" network operation take longer than 5 minutes to complete. The -r\n"
" flag should not be used on a command which reads from stdin.\n"
"\n"
" The -s flag causes the p4 command line client program to prefix\n"
" each line of output with a tag (error, warning, info, text, exit)\n"
" to make it easier to use for scripting.\n"
"\n"
" The -u flag specifies the user name, overriding the value of\n"
" $P4USER, $USER, and $USERNAME in the environment.\n"
"\n"
" The -x flag instructs p4 to read arguments, one per line, from the\n"
" specified file. If you specify '-', standard input is read.\n"
"\n"
" The -V flag displays the version of the p4 client command and exits.\n"
"\n"
" The -z tag option returns output of reporting commands in the\n"
" format returned by 'p4 fstat'.\n"
};
ErrorId MsgHelp::HelpSimple = { ErrorOf( ES_HELP, 13, E_INFO, EV_NONE, 0 ),
"\n"
" Most common Perforce client commands:\n"
"\n"
" client Create or edit a client workspace specification and view\n"
"\n"
" add Open files for adding to the depot\n"
" edit Open existing files for editing\n"
" delete Open existing files for removal from the depot\n"
" opened List open files \n"
"\n"
" update Update files in the current client workspace \n"
" resolve Resolve updates to open workspace files\n"
"\n"
" submit Submit open files to the depot\n"
" revert Revert open files and restore originals to workspace\n"
};
ErrorId MsgHelp::HelpCommands = { ErrorOf( ES_HELP, 14, E_INFO, EV_NONE, 0 ),
"\n"
" Perforce client commands:\n"
"\n"
" add Open a new file to add it to the depot\n"
" aliases Display the content of the P4ALIASES file\n"
" annotate Print file lines along with their revisions\n"
" attribute Set per-revision attributes on revisions\n"
" branch Create or edit a branch specification\n"
" branches Display list of branches\n"
" change Create or edit a changelist description\n"
" changes Display list of pending and submitted changelists\n"
" changelist Create or edit a changelist description\n"
" changelists Display list of pending and submitted changelists\n"
" clean Delete or refresh local files to match depot state\n"
" client Create or edit a client specification and its view\n"
" clients Display list of known clients\n"
" copy Schedule copy of latest rev from one file to another\n"
" counter Display, set, or delete a counter\n"
" counters Display list of known counters\n"
" cstat Dump change/sync status for current client\n"
" delete Open an existing file to delete it from the depot\n"
" depot Create or edit a depot specification\n"
" depots Display list of depots\n"
" describe Display a changelist description\n"
" diff Display diff of client file with depot file\n"
" diff2 Display diff of two depot files\n"
" dirs List subdirectories of a given depot directory\n"
" edit Open an existing file for edit\n"
" filelog List revision history of files\n"
" files List files in the depot\n"
" fix Mark jobs as being fixed by named changelists\n"
" fixes List what changelists fix what job\n"
" flush Fake a 'p4 sync' by not moving files\n"
" fstat Dump file info\n"
" grep Print lines from text files matching a pattern\n"
" group Change members of a user group\n"
" groups List groups (of users)\n"
" have List revisions last synced\n"
" help Print the requested help message\n"
" info Print out client/server information\n"
" integrate Schedule integration from one file to another\n"
" integrated Show integrations that have been submitted\n"
" interchanges Report changes that have not yet been integrated\n"
" istat Show integrations needed for a stream\n"
" job Create or edit a job (defect) specification\n"
" jobs Display list of jobs\n"
" key Display, set, or delete a key/value pair\n"
" keys Display list of known keys and their values\n"
" label Create or edit a label specification and its view\n"
" labels Display list of labels\n"
" labelsync Synchronize label with the current client contents\n"
" list Create an in-memory (label) list of depot files\n"
" lock Lock an opened file against changelist submission\n"
" logger Report what jobs and changelists have changed\n"
" login Login to Perforce by obtaining a session ticket\n"
" logout Logout of Perforce by removing or invalidating a ticket\n"
" merge Schedule merge (integration) from one file to another\n"
" move Moves files from one location to another\n"
" opened Display list of files opened for pending changelist\n"
" passwd Set the user's password on the server (and Windows client)\n"
" populate Populate a branch or stream with files\n"
" print Retrieve a depot file to the standard output\n"
" protect Modify protections in the server namespace\n"
" protects Display protections in place for a given user/path\n"
" prune Remove unmodified branched files from a stream\n"
" rec Reconcile client to offline workspace changes\n"
" reconcile Reconcile client to offline workspace changes\n"
" rename Moves files from one location to another\n"
" reopen Change the type or changelist number of an opened file\n"
" resolve Merge open files with other revisions or files\n"
" resolved Show files that have been merged but not submitted\n"
" revert Discard changes from an opened file\n"
" review List and track changelists (for the review daemon)\n"
" reviews Show what users are subscribed to review files\n"
" set Set variables in the registry (Windows only)\n"
" shelve Store files from a pending changelist into the depot\n"
" status Preview reconcile of client to offline workspace changes\n"
" sizes Display size information for files in the depot\n"
" stream Create or edit a stream specification\n"
" streams Display list of streams\n"
" submit Submit open files to the depot\n"
" sync Synchronize the client with its view of the depot\n"
" tag Tag files with a label\n"
" tickets Display list of session tickets for this user\n"
" unlock Release a locked file but leave it open\n"
" unshelve Restore shelved files from a pending changelist\n"
" update Update the client with its view of the depot\n"
" user Create or edit a user specification\n"
" users Display list of known users\n"
" where Show how file names map through the client view\n"
" workspace Create or edit a client specification and its view\n"
" workspaces Display list of known clients\n"
"\n"
" See 'p4 help administration' for more information about additional\n"
" commands and issues of interest to those who are administering and\n"
" operating the server.\n"
"\n"
" See 'p4 help dvcs' for more information about additional commands and\n"
" topics of interest to those who use using Perforce with decentralized\n"
" workflows.\n"
};
ErrorId MsgHelp::HelpUndoc = { ErrorOf( ES_HELP, 15, E_INFO, EV_NONE, 0 ),
"\n"
" Unsupported or obsolete Perforce commands and options:\n"
"\n"
" p4 admin dump\n"
" Outputs a checkpoint of the server through the client. Important:\n"
" read-locks the database during the entire operation! Normally\n"
" database locks are not held during network I/O to the client.\n"
" This command requires 'super' access.\n"
"\n"
" p4 admin import [-l] [-b batchsz] [-f]\n"
" Imports a journal of the server through the client. The journal\n"
" data is read from the standard input. When the data has been\n"
" transfered to the server, it is processed in batches with the\n"
" batch size of 5000 records or the number specified with the '-b'\n"
" flag. Each batch locks only the tables that will change.\n"
" The -l flag instructs import to write-lock all database tables\n"
" and processes all data until it comes to the end of the file or\n"
" encounters an error. When applying records to the database, it\n"
" ignores failures to delete records, unlike 'p4d -jr', which\n"
" normally terminates if it can't delete a record as indicated by\n"
" the journal. Avoid using this command to import large journal\n"
" files, because the entire file has to fit in memory.\n"
" The -f flag forces a replica server to run this command.\n"
" This command requires 'super' access.\n"
"\n"
" p4 branch -F stream [ -P parent ] -o name\n"
" The -F flag used with -o will output the full branch spec generated\n"
" using the named stream view that includes imported paths. The\n"
" optional -P option allows a user to specify a different parent\n"
" stream for the branch source.\n"
"\n"
" p4 client -of\n"
" An administrator may combine the -o and -f flags in order to display\n"
" information about the client view havemaps. Havemaps are created when\n"
" a client view is modified.\n"
"\n"
" p4 clone -A\n"
" The -A flag excludes archive content for the new revisions. This flag\n"
" also prevents the automatic sync normally performed by clone.\n"
"\n"
" p4 configure show env\n"
" Displays the command-line flags and environment variables that were\n"
" in effect when this server was started.\n"
"\n"
" p4 configure show undoc\n"
" Displays a list of all the server tunable parameters and their\n"
" current values. Consult Perforce Technical Support before\n"
" changing values.\n"
"\n"
" p4 copy -e\n"
" Only existing source files are considered for copying to the target.\n"
" Target files with no corresponding source files are ignored.\n"
"\n"
" p4 cstat\n"
" Dump change/sync status for current client.\n"
" See 'p4 help cstat'.\n"
"\n"
" p4 dbpack\n"
" Reorder database index pages.\n"
" See 'p4 help dbpack'\n"
"\n"
" p4 diff2 -F stream [-P parent] [[file1] file2]\n"
" The -F flag causes diff2 to use the full stream branch, including\n"
" imported paths, to determine the pairs of files to compare. The files\n"
" are compared against the parent stream. The optional -P flag allows\n"
" a user to specify a different parent stream to diff against. If file\n"
" arguments are also present, they can further limit the files and\n"
" specify the revisions for comparison.\n"
"\n"
" p4 diff/diff2/describe -dh\n"
" The -dh compares files on a word-by-word basis (using whitespace\n"
" as a separator rather than just newline), and marks differences\n"
" with HTML tags that switch the font to red or blue for words that\n"
" are only in the first or second file, respectively.\n"
"\n"
" p4 diff/diff2/describe -dv\n"
" The -dv compares files on a word-by-word basis (using character\n"
" classes rather than just newline), and marks differences with\n"
" HTML tags that switch the font to red or blue for words only\n"
" in the first or second file, respectively.\n"
"\n"
" p4 discover\n"
" This variant of 'p4 info' is used to discover if a server is\n"
" in unicode mode or not. It's important to allow this through\n"
" a broker.\n"
"\n"
" p4 duplicate\n"
" Duplicate revisions and their integration history.\n"
" See 'p4 help duplicate'.\n"
"\n"
" p4 edit/delete -L [file ...] \n"
" The -L flag can be used with multiple file arguments in order to\n"
" process them altogether. This flag can help performance when dealing\n"
" with many +l files and issuing the command from an edge server.\n"
"\n"
" p4 fetch [-p target -A -I -u]\n"
" The -p flag specifies the address of the target server, overriding\n"
" the address from the remote spec specified by the -r flag.\n"
"\n"
" The -I flag excludes integration records for the new revisions.\n"
"\n"
" The -A flag excludes archive content for the new revisions. This flag\n"
" also prevents the automatic sync normally performed by fetch.\n"
"\n"
" The -u flag specifies that conflicting changes should be unsubmitted,\n"
" not relocated to a tangent. The -u flag requires the -r flag, and\n"
" also requires that an administrator has set server.allowrewrite=1.\n"
"\n"
" p4 filelog -1\n"
" This flag prevents filelog from following any renames resulting from\n"
" use of the 'p4 move' command. By default, filelog follows moved files.\n"
"\n"
" p4 fstat [-OcChiz]\n"
" The -Oc flag outputs the path, revision and type of the server\n"
" archive file (requires 'admin' privilege). The -OC flag is the same\n"
" as -Oc, but includes archived revisions. The -Oz flag outputs the\n"
" path and revision of any lazy copies (requires 'admin' privilege).\n"
" The -Oh flag outputs the size, digest and any selected attributes of\n"
" the synced revision rather than the head revision. The -Oi flag\n"
" outputs extra (debugging) information about the attributes.\n"
"\n"
" p4 help commandments\n"
" Values we work by.\n"
"\n"
" p4 help credits\n"
" Lists server contributors.\n"
"\n"
" p4 index\n"
" Add words to the jobs index.\n"
" See 'p4 help index'.\n"
"\n"
" p4 integrate -1 -2 -C changelist# -Rlo -Znnn\n"
" The flag '-1' can be supplied to the 'p4 integrate' command to\n"
" force consideration of direct integration history only. The -C\n"
" changelist# flag considers only integration history from changelists\n"
" at or below the given number, allowing you to ignore credit from\n"
" subsequent integrations. The -2 flag uses the old 'second generation'\n"
" integrate engine (2006.1). The -Rl flag causes only edited revisions\n"
" to require integration. The -Ro flag suppresses the scheduling of\n"
" non-content resolves. The -Z flag overrides the dm.integ.tweaks\n"
" configurable setting.\n"
"\n"
" p4 integrate -Dst -d -i -I -o -t -v\n"
" These flags are deprecated but preserved for backward compatibility.\n"
" -Dt If the target file has been deleted and the source\n"
" file has changed, re-branch the source file on top\n"
" of the target file instead of scheduling a resolve.\n"
" -Ds If the source file has been deleted and the target\n"
" file has changed, delete the target file instead of\n"
" scheduling a resolve.\n"
" -d Synonym for '-Dist'.\n"
" -i/-I Use the first revision of the source as the base for\n"
" baseless merges, rather than an empty file.\n"
" -o Synonym for '-Ob'.\n"
" -t Force filetype and attributes to be copied from the\n"
" source file rather than scheduling resolves.\n"
" -v Open files virtually when no resolve is scheduled.\n"
"\n"
" p4 jobspec presets\n"
" Preset values for job non-optional fields that undergo variable\n"
" expansion, in addition to the simple $now, $blank, and $user\n"
" substitution. The variables supported include: %%old%% (previous\n"
" contents of field), %%action%% (what caused the update of the form),\n"
" %%n%% (a newline), %%date%% (date and time), %%day%% (date only),\n"
" and %%user%%.\n"
"\n"
" p4 jobspec codes over 10000\n"
" Jobspec field codes are required to be in the range 100-199 or over\n"
" 10000.\n"
"\n"
" p4 merge3\n"
" Three-way file merge.\n"
" See 'p4 help merge3'.\n"
"\n"
" p4 obliterate [ -iI ]\n"
" Tells obliterate to synthesize new integration records to attempt\n"
" to bridge the gaps left by the obliteration of intermediate branches.\n"
" If '-i' is used, only the initial branch records are considered; if\n"
" '-I' is used, all records are considered. Note that it is possible\n"
" to end up with more integration records than you started with.\n"
"\n"
" p4 pull -I\n"
" The '-I' flag specifies the pull interval in milliseconds.\n"
"\n"
" p4 push [-p target -I]\n"
" The -p flag specifies the address of the target server, overriding\n"
" the address from the remote spec specified by the -r flag.\n"
"\n"
" The -I flag excludes integration records for the new revisions.\n"
"\n"
" p4 resolve -dg\n"
" The'-dg' flag makes the default merge algorithm more guarded about\n"
" merging adjacent chunks. When this option is specified, \n"
" more conflicts are returned, especially where changes in both \n"
" 'yours' and 'theirs' are identical but then diverge.\n"
"\n"
" p4 resolve -e\n"
" Translates all 'ignored' results to 'edit from', leaving the contents\n"
" unchanged. The resulting revision is a candidate for integration back\n"
" to its source, which has the effect of undoing the 'ignored' change.\n"
"\n"
" p4 retype\n"
" Change revision or server archive type.\n"
" See 'p4 help retype'.\n"
"\n"
" p4 search\n"
" Search index.\n"
" See 'p4 help search'.\n"
"\n"
" p4 snap\n"
" Snap archive lazy copies.\n"
" See 'p4 help snap'.\n"
"\n"
" p4 spec\n"
" Edit spec definitions.\n"
" See 'p4 help spec'.\n"
"\n"
" p4 submit -c <change> --forcenoretransfer\n"
" This option instructs submit to bypass the client file transfer if\n"
" the archive is found to be already present on the server. If the\n"
" archive is found, submit will bypass the client file transfer and\n"
" commit the archive content even if it differs from the client file\n"
" content. This option is only allowed if the undocumented tunable\n"
" value 'submit.forcenoretransfer' is set to 1 or higher. If the\n"
" tunable is set to 2, 'submit -c N' defaults to --forcenoretransfer.\n"
" Files submitted without a file transfer are recorded with no digest\n"
" value; you may set the digest later if desired, for example by\n"
" running verify or by other means. NOTE: bypassing file transfer\n"
" is a very advanced feature requiring specific workflows to be\n"
" used and with specific restrictions to its operation.\n"
"\n"
" p4 submit -t\n"
" Tamper-checks branch/sync files and files resolved with 'at' \n"
" (copy from/lazy-copied files). This check can significantly slow submit.\n"
" Imported files are never tamper-checked.\n"
"\n"
" p4 -ztzoffset=N verify\n"
" Operating a replica in a timezone other than the master's timezone\n"
" can cause files of type +k which use $Date$ or $DateTime$ keywords\n"
" to verify as BAD! Specify the master's timezone offset to cause the\n"
" replica to use that timezone for keyed file verification. This value\n"
" does not, however, affect the time zone name shown by $DateTimeTZ$.\n"
"\n"
" Predefined Trigger Actions\n"
" The predefined trigger actions 'pass' and 'fail' are processed\n"
" by the server without calling any external scripts. 'pass' will\n"
" always succeed. 'fail' will always fail and return the expanded\n"
" argument list as the error message.\n"
"\n"
" Relative revisions @<, @<=, @>, @>=, @=\n"
" and #<, #<=, #>, #>=, #=\n"
" Anywhere a revision range can be specified, the revisions can be\n"
" modified with relative operators. Relative operators on #head\n"
" (other than = and <=) aren't supported. A maximum of 4 revision\n"
" specifications (separated by ,s) are allowed: the implied operator\n"
" on the first is >=; thereafter <=. You must quote < and > for the\n"
" command-line shell. See 'p4 help revisions' for a description of\n"
" revision specifications.\n"
"\n"
" Revision actions #add, #edit, #delete, #branch, #integrate, #import\n"
" Selects all revisions with the specified action. Actions are not\n"
" relative, which means that #action cannot be used in a revision range.\n"
" For many commands, when multiple revisions of the same\n"
" file are selected, the highest revision is used.\n"
"\n"
" FileType modifier +T\n"
" The +T modifier stores the revisions in the server in a database\n"
" file called tiny.db, which is useful for lots of very small\n"
" files. The types ttext and tbinary are equivalent to text+T and\n"
" binary+T. tiny.db is not backed up with a normal checkpoint.\n"
" Backups are done via 'p4d -xf 857 > tiny.ckp' and restores with\n"
" 'p4d -xf 857 tiny.ckp'\n"
"\n"
" Versioned character set\n"
" Set the server.filecharset configurable to 1 in order to version\n"
" the charset of individual unicode files along with the filetype.\n"
" With this configurable enabled, each unicode file has a charset\n"
" associated with it that will be used instead of the local P4CHARSET\n"
" when reading and writing the file in the client workspace. This\n"
" versioned charset is set to the local P4CHARSET on add by default\n"
" and may be changed explicitly by using the -Q flag on add, edit, and\n"
" reopen. The 'p4 reopen -X -Q charset' command will convert the client\n"
" file's contents into the new charset; otherwise it is assumed that the\n"
" client file already matches the newly specified charset. Note that\n"
" this feature requires client-side support; if not all client\n"
" applications in use support this feature, confusing behavior may\n"
" result.\n"
"\n"
" Jobspec format\n"
" The 'p4 jobspec' form can have an additional field 'Formats:' to\n"
" help Perforce visual clients display forms properly. Each row\n"
" of the Format field consists of three words: field, order, and format.\n"
" The order is an integer (starting at 1) indicating the display order\n"
" (the display order is otherwise undefined). \n"
" The format is: normal, L, R, or I; for full line, left half, \n"
" right half, indented. If a right field follows a left, they\n"
" are displayed on the same line.\n"
"\n"
" JobStatus field on 'p4 change', 'p4 submit'\n"
" 'p4 change' and 'p4 submit' forms have a 'JobStatus' field that is not\n"
" normally displayed. This field sets the fix status for all jobs,\n"
" overriding the default (which is 'closed'). A job's fix status can be\n"
" set using the 'p4 change -s' and 'p4 submit -s' commands.\n"
"\n"
" p4 -zmaxLockTime=n command\n"
" p4 -zmaxOpenFiles=n command\n"
" p4 -zmaxResults=n command\n"
" p4 -zmaxScanRows=n command\n"
" Overrides the user's maxLockTime/maxOpenFiles/maxResults/maxScanRows\n"
" for the command. Note that the server.commandlimits configurable\n"
" affects the operation of these command-level overrides.\n"
"\n"
" p4 -e\n"
" Extended version of the '-s' output that displays more detailed\n"
" information about each error/info message received, including the\n"
" formatting strings, unique error codes, and severity values that\n"
" are available to API users.\n"
"\n"
" p4 -E P4VAR=value\n"
" Override the value of an arbitrary environment/config variable,\n"
" as in a P4CONFIG file. Multiple instances of this flag can be used.\n"
" Useful for variables without dedicated override flags (such as P4DIFF).\n"
"\n"
" p4 -F formatstring\n"
" Override the formatting string of server messages, allowing output\n"
" to be customized for easier scripting. Use the '-e' global option\n"
" to see examples of built-in message strings and the dictionary of\n"
" variables associated with each message. The '-F' option also works\n"
" with the dictionary provided by tagged (-Ztag) output mode.\n"
"\n"
" p4 --field Field=replacement_text\n"
" p4 --field Field+=extra_text\n"
" Modify the contents of a spec returned by p4 [specname] -o. The\n"
" modified spec can be piped directly to another command that expects\n"
" a formatted spec, e.g. p4 [specname] -i.\n"
"\n"
" p4 -R\n"
" Formats all output (and batch input for form commands with -i)\n"
" as marshalled Ruby hash objects.\n"
"\n"
" p4 -x cmdfile run\n"
" Runs the commands listed in cmdfile one after the next, using a\n"
" single connection to the server.\n"
"\n"
" p4 unsubmit -c N\n"
" Unsubmits the specified changelist by changelist number. Each\n"
" changelist is unsubmitted independently, but if you specify\n"
" multiple interdependent changelists, you must specify them in\n"
" descending changelist order.\n"
"\n"
" p4d -Cn\n"
" Forces the server to operate in case-sensitive mode (n=0) on Windows\n"
" or case-insensitive mode (n=1) on Unix. n=2 is an experimental\n"
" 'hybrid' order that folds case while preserving uniqueness. Changing\n"
" Attempting to change modes after a database is created produces an\n"
" error.\n"
"\n"
" p4d -jds dumpfile\n"
" Dumps the server metadata to the specified file. Unlike p4d -jd,\n"
" ignores the table indexes and reads in file system order rather than\n"
" data order. This option can be useful for recovery if the btree\n"
" index structure becomes corrupt. This recovery procedure is not\n"
" meant for normal production operation. Restoring the resulting\n"
" dump file does not compact the btrees as effectively as restoring\n"
" from regular checkpoints does, and such restores take longer to\n"
" complete.\n"
"\n"
" p4d -n\n"
" Starts the server in maintenance mode. Maintenance mode does not\n"
" police the user and file count restrictions listed in the license\n"
" file. When in maintenance mode a server is only able to perform\n"
" those commands that do not require a client. In addition, if the\n"
" server is in maintenance mode and it is a member of a DCS cluster\n"
" it will not launch a p4zk process.\n"
"\n"
" p4d -xf bugno\n"
" Updates the server data to fix problems due to the\n"
" specified bug number. Valid values of bugno are as follows:\n"
"\n"
" 857 -- checkpoint/restore tiny.db\n"
" 925 -- working and locks table out of sync\n"
" 3104 -- early 99.2 resolve bug\n"
" 4164 -- early 2000.1 submit bug\n"
" 12904 -- replace / with _ in client names\n"
" 18362 -- 2005.2 replace 'check' trigger command\n"
" 43361 -- 2012.2 - recreate db.have from db.working\n"
" 71819 -- 2013.2 - clears unneeded/invalid charset data\n"
" 71917 -- 2014.2 - promoted shelved changes on commit server\n"
"\n"
" p4d -xU upgrade\n"
" Re-runs the named upgrade step that is normally done automatically by\n"
" p4d -xu. To display a list of steps, issue the 'p4d -xU help' command.\n"
" This option can be used to rebuild certain tables (like db.archmap).\n"
"\n"
" p4d -xx [-q -o output] [table1 [table2]]\n"
" Checks consistency between table pairs, producing a file\n"
" jnl.fix with '@dv@' and '@pv@' records which, when read in with\n"
" p4d -jr, eliminate any inconsistencies. If table names are\n"
" specified, only those tables are checked. Check the jnl.fix file\n"
" for accuracy before attempting any updates. Use the -o flag to specify\n"
" a filename other than jnl.fix. Specify -q to print output messages\n"
" only if inconsistencies are found.\n"
"\n"
" p4d -xr\n"
" Does a low-level verification and repair of database files. \n"
" Use only as a last resort if checkpoint and journal are not\n"
" available.\n"
"\n"
" p4d -xrU\n"
" Resets the UnlockCount of database files, but makes no other repairs.\n"
" Use only as a last resort if checkpoint and journal are not\n"
" available.\n"
"\n"
" p4d -p <serverlevel> -jd\n"
" The -p flag directs the server to dump metadata in a form compatible\n"
" with an older server version. The earliest version that might work\n"
" is 2005.1, which is server level 19.\n"
"\n"
" p4d -m rcsfiles... \n"
" Dumps RCS metadata from files to a format suitable for the\n"
" CVS-to-Perforce conversion script.\n"
"\n"
" p4d -M readonly [options]\n"
" The -M readonly option, used only with replica servers, directs\n"
" the replica server to only accept readonly metadata commands.\n"
" This overrides the db.replication configurable.\n"
"\n"
" p4d -D readonly|shared|ondemand|cache|none [options]\n"
" The -D flag is used only with replica servers to specify the\n"
" approach for handling depot file content. A replica running\n"
" with '-D readonly' automatically transfers copies of the target\n"
" server's files. A replica running with '-D shared' or '-D ondemand'\n"
" either shares the same physical archives as the target or uses\n"
" external archive synchronization from the target. A replica running\n"
" with '-D cache' only requests file transfer as needed by user\n"
" commands. A replica running with '-D none' rejects any command that\n"
" requires access to depot files. This overrides the lbr.replication\n"
" configurable.\n"
"\n"
" p4p -k ...\n"
" Start the Perforce Proxy without cache timestamp checking.\n"
" The Perforce Proxy normally uses a timestamp on cached revisions\n"
" to check that the right revision is delivered if an obliterate\n"
" deletes a revision that is subsequently replaced with an identically-\n"
" numbered revision. Using this option causes problems if head\n"
" revisions are obliterated. However, the proxy cache can be pre-\n"
" loaded with the server's archive files by specifying this flag\n"
" when you start the proxy.\n"
"\n"
" p4p -w ...\n"
" Start the Perforce Proxy in read-only cache mode. In this mode\n"
" the proxy never updates its cache, which is useful if the cache\n"
" is updated through a WAN NFS or other system-level remote\n"
" filesystem method.\n"
"\n"
" P4AUTH=central-server-address\n"
" P4AUTH functionality is now fully supported for 2010.2, see the\n"
" System Administration Guide for more details.\n"
"\n"
" P4CHANGE=central-server-address\n"
" P4CHANGE functionality is now fully supported for 2010.2, see the\n"
" System Administration Guide for more details.\n"
"\n"
" P4LOG=syslog\n"
" Uses syslog instead of the named error log file for server error\n"
" logging. Must be set in server's environment.\n"
"\n"
" P4DEBUG=server=2\n"
" Logs server commands to the file configured by P4LOG. The server=2\n"
" option logs command completion. Must be set in server's environment.\n"
" To disable all command logging, set server=0.\n"
"\n"
" Perforce server configurables (unsupported)\n"
" P4DEBUG=configurables\n"
" For information about supported server configuration variables, see\n"
" 'p4 help configurables'.\n"
"\n"
" The following server parameters can be tuned using 'p4 configure set'\n"
" or by setting P4DEBUG to a list of variable=value pairs separated by\n"
" commas. Change these values only as directed by Technical Support.\n"
"\n"
" Values that are too large or small are silently corrected.\n"
"\n"
" Name Default Use\n"
" ---- ------- ---\n"
" db.isalive 10K Rows scanned before maxLockTime check\n"
" db.page.migrate 0 Avoid allocateing pages at end of btree\n"
" db.reorg.disable 0 Disable BTree reorganization\n"
" db.reorg.misorder 80 BTree reorg percent out of order trigger\n"
" db.reorg.occup 8 BTree reorg percent of page free remaining\n"
" db.trylock 3 Attempts to avoid locks that block\n"
" dbarray.putcheck 4K Every this many rows...\n"
" dbarray.reserve 4M ...make sure we have this much memory\n"
" dbjournal.wordsize 4K Journal word processing size\n"
" dbopen.cache 96 Pages of cache for db.* files\n"
" dbopen.cache.wide 192 Pages of cache for db.integed\n"
" dbopen.freepct 0 Free page space on p4d -jr\n"
" dbopen.pagesize 8K Page size of db.* files\n"
" diff.binary.rcs 0 Diff binary+D (RCS) files as text\n"
" diff.slimit1 10M Longest diff snake; smaller is faster\n"
" diff.slimit2 100M Longest diff snake for smaller files\n"
" diff.sthresh 50K Use slimit2 if lines to diff < sthresh\n"
" dm.batch.domains 0 'labels path' scan in label intervals\n"
" dm.changes.thresh1 50K 'changes -mx path' uses db.revcx if...\n"
" dm.changes.thresh2 10K ...if < thresh2 of thresh1 db.rev match\n"
" dm.changeview.openable 0 Legacy (pre-16.1) readonly behavior\n"
" dm.copy.movewarn 0 verbose 'p4 copy' warnings for moved files\n"
" dm.flushforce 10K Flushtry can expand until forced\n"
" dm.flushtry 100 Update buffer for sync, resolve, edit\n"
" dm.grep.maxlinelength 4096 Maximum line length that can be searched\n"
" dm.grep.maxcontext 1K Maximum size of context allowed for grep\n"
" dm.integ.engine 3 'p4 integrate' engine version\n"
" 2: 2006.1 integration engine\n"
" 3: 2013.2 integration engine\n"
" dm.integ.maxact 100K Max db.integed edges considered for a file\n"
" dm.integ.tweaks 0 Modify integrate behavior (engine=3 only):\n"
" 1: Treat all 'copy' records as 'merge'\n"
" 2: Treat all 'ignore' records as 'edit'\n"
" 4: Retain credit for copied-over edits\n"
" 8: Force convergent merge of all edits\n"
" 16: Legacy (pre-2011.1) resolve behavior\n"
" dm.isalive 50K Rows scanned before client connection check\n"
" dm.maxkey 1K Longest identifier (client, label, etc)\n"
" dm.protects.allow.admin 0 Allow admin to use -agu flags (protects)\n"
" dm.protects.hide 0 Hide exclusionary protections (protects)\n"
" dm.quick.clients 10M Release lock if all needed rows buffered\n"
" dm.quick.domains 1M Release lock if all needed rows buffered\n"
" dm.quick.have 1M Release lock if all needed rows buffered\n"
" dm.quick.integ 1M Release lock if all needed rows buffered\n"
" dm.quick.resolve 1K Release lock if all needed rows buffered\n"
" dm.quick.rev 100K Release lock if all needed rows buffered\n"
" dm.quick.working 1K Release lock if all needed rows buffered\n"
" dm.status.matchlines 80 Min %% matching lines to match moves\n"
" dm.status.matchsize 10 Max size %% difference to match moves\n"
" dm.revcx.thresh1 4K Path@change uses db.revcx if thresh2 ...\n"
" dm.revcx.thresh2 1K ...of thresh1+thresh2 rows match path\n"
" dm.user.insecurelogin 0 issue login tickets that work on all hosts\n"
" filesys.cachehint 0 preserve buffer cache for db files (linux)\n"
" filesys.maketmp 10 Max attempts to find unused temp name\n"
" filesys.maxmap 1000M Use read rather than mmapping big files\n"
" filesys.maxsymlink 1K Symlink maximum content length\n"
" filesys.maxtmp 1M Rollover for creating temp file names\n"
" map.joinmax1 10K Produce at most map1+map2+joinmax1\n"
" map.joinmax2 1M Produce at most joinmax2\n"
" map.maxwild 10 Maximum number of wildcards per line\n"
" net.bufsize 4K Network I/O buffer size\n"
" proxy.deliver.fix 1 Enable fix for proxy hang\n"
" rcs.maxinsert 1G Max lines in RCS archive file\n"
" rpc.himark 2000 Max outstanding data between server/client\n"
" rpc.lowmark 700 Interval for checking outstanding data\n"
" rpc.ipaddr.mismatch 1 Check for client address mismatch\n"
" rpl.awaitjnl.count 100 Max count of waits for journal data (-i 0)\n"
" rpl.awaitjnl.interval 50 Millisecs to wait for journal data (-i 0)\n"
" rpl.pull.reload 60000 Interval in ms for pull to reload config\n"
" server.filecharset 0 Enable per-file charset storage\n"
" serverlog.name.N none Alias name for this log file\n"
" serverlog.events.N none Events that should write to this log\n"
" spec.custom 0 If > 0 allow modifications to spec forms.\n"
" submit.forcenoretransfer 0 Allow submit --forcenoretransfer option\n"
" sys.rename.max 10 Limit for retrying a failed file rename\n"
" sys.rename.wait 1000 Timeout in ms between file rename attempts\n"
# ifdef HAVE_SMARTHEAP
# ifdef OS_NTX86
" sys.memory.poolfree 1M Free memory retained per heap, 1K blocks\n"
" sys.memory.procfree 1M Free memory retained in process, 1K blocks\n"
# else
" sys.memory.poolfree 4M Free memory retained per heap, 1K blocks\n"
" sys.memory.procfree undef Free memory retained in process, 1K blocks\n"
# endif
" cmd.memory.poolfree 0 Same as sys.memory.poolfree, not persistent\n"
" cmd.memory.procfree 0 Same as sys.memory.procfree, not persistent\n"
# endif
"\n"
" Perforce client configuration (unsupported)\n"
" May be set in P4CONFIG or P4ENVIRO files or via 'p4 set'\n"
"\n"
" filesys.detectunicode 1 Set to 0 to prevent unicode file detection\n"
"\n"
" P4CHARSET\n"
" Some P4CHARSET values exist which are undoc/unsupported for now\n"
"\n"
" winoem Windows Codepage 437 (US Command Window)\n"
};
ErrorId MsgHelp::HelpEnvironment = { ErrorOf( ES_HELP, 16, E_INFO, EV_NONE, 0 ),
"\n"
" Environment variables used by Perforce:\n"
"\n"
" Variable Defines More information\n"
" -------- ------- ------------------------\n"
" P4ALIASES Name of aliases file p4 help aliases\n"
" P4CHARSET Client's local character set p4 help charset\n"
" P4COMMANDCHARSET Client's local character set\n"
" (for command line operations) p4 help charset\n"
" P4CLIENT Name of client workspace p4 help client\n"
" P4CLIENTPATH Directories client can access Perforce Command Reference\n"
" P4CONFIG Name of configuration file Perforce Command Reference\n"
" P4DIFF Diff program to use on client p4 help diff\n"
" P4DIFFUNICODE Diff program to use on client p4 help diff\n"
" P4EDITOR Editor invoked by p4 commands p4 help change, etc\n"
" P4ENVIRO Name of environment file Perforce Command Reference\n"
" P4HOST Name of host computer p4 help usage\n"
" P4IGNORE Name of ignore file Perforce Command Reference\n"
" P4LANGUAGE Language for text messages p4 help usage\n"
" P4LOGINSSO Client side credentials script p4 help triggers\n"
" P4MERGE Merge program to use on client p4 help resolve\n"
" P4MERGEUNICODE Merge program to use on client p4 help resolve\n"
" P4PAGER Pager for 'p4 resolve' output p4 help resolve\n"
" P4PASSWD User password passed to server p4 help passwd\n"
" P4PORT Port to which client connects p4 help info\n"
" P4SSLDIR SSL server credential directory Perforce Command Reference\n"
" P4TICKETS Location of tickets file Perforce Command Reference\n"
" P4TRUST Location of SSL trust file Perforce Command Reference\n"
" P4USER Perforce user name p4 help usage\n"
" PWD Current working directory p4 help usage\n"
" TMP, TEMP Directory for temporary files Perforce Command Reference\n"
"\n"
" For details about configuring Windows settings, issue the 'p4 help set' \n"
" command. The syntax for setting an environment variable depends on the\n"
" OS/shell. Many shells permit you to set shell variables separately from\n"
" environment variables, but Perforce cannot access the shell variable,\n"
" only the environment variable.\n"
"\n"
" Variables of primary interest to typical users are:\n"
" $P4CLIENT, $P4PORT and $P4PASSWD.\n"
"\n"
" Environment variables used by the Perforce server:\n"
"\n"
" Variable Defines More information\n"
" -------- ------- ------------------------\n"
" P4AUDIT Name of server audit file p4d -h\n"
" P4AUTH Authentication server address System Admin Guide\n"
" P4CHANGE Global changelist server address System Admin Guide\n"
" P4DEBUG Server diagnostic trace flags Perforce Technical Support\n"
" P4DESCRIPTION Text description for server System Admin Guide\n"
" P4JOURNAL Name of server journal file p4d -h\n"
" P4LOG Name of server log file p4d -h\n"
" P4NAME Unique server name System Admin Guide\n"
" P4PORT Port on which server listens p4d -h\n"
" P4ROOT Server root directory p4d -h\n"
" P4SSLDIR Server SSL credentials directory System Admin Guide\n"
" P4TARGET Target server for proxy/replica Perforce Command Reference\n"
" P4TICKETS Location of tickets file Perforce Command Reference\n"
" P4TRUST Location of SSL trust file Perforce Command Reference\n"
" TMP, TEMP Directory for temporary files Perforce Command Reference\n"
"\n"
" To set server environment variables persistently, use the 'p4 configure' \n"
" command. Note that P4ROOT and TMP/TEMP cannot be set using 'p4 configure'.\n"
" Also note that server environment variables are not searched for in\n"
" configuration or environment files, i.e. P4CONFIG and P4ENVIRO are ignored.\n"
};
ErrorId MsgHelp::HelpFiletypes = { ErrorOf( ES_HELP, 17, E_INFO, EV_NONE, 0 ),
"\n"
" File types supported by Perforce:\n"
"\n"
" Perforce file type determines how the file is handled on both the\n"
" client and the server.\n"
"\n"
" A filetype can be specified as 'type', with modifiers as 'type+mods'\n"
" or as just the modifiers '+mods'.\n"
"\n"
" The following are the base Perforce filetypes:\n"
"\n"
" Type Client Use Server Storage\n"
" ---- ---------- --------------\n"
" text newlines translated deltas in RCS format\n"
" binary raw bytes compressed binary\n"
" symlink symbolic link deltas in RCS format\n"
" apple Mac resource + data compressed AppleSingle\n"
" resource Mac resource fork compressed binary\n"
" unicode newlines translated deltas in RCS format\n"
" stored as UTF-8\n"
" utf8 newlines translated deltas in RCS format\n"
" client file UTF-8 stored as UTF-8\n"
" utf16 newlines translated deltas in RCS format\n"
" client file UTF-16 stored as UTF-8\n"
"\n"
" Files of type utf16 are stored in the depot in UTF-8.\n"
" These files are in utf16 in the client workspace.\n"
" The automatic type detection requires a BOM be present\n"
" at the start of the file. Files without a BOM are\n"
" assumed to be in client byte order. When utf16 files\n"
" are written to a client, they are written with a BOM\n"
" in client byte order.\n"
"\n"
" The following are the modifiers:\n"
"\n"
" Modifier Meaning\n"
" -------- -------\n"
" +m always set modtime on client\n"
" (overrides client's nomodtime)\n"
" +w always writable on client\n"
" +x exec bit set on client\n"
"\n"
" +k $Keyword$ expansion of Id, Header, Author\n"
" Date, DateUTC, DateTime, DateTimeUTC, DateTimeTZ\n"
" Change, File, Revision\n"
" +ko $Keyword$ expansion of ID, Header only\n"
" +l exclusive open: disallow multiple opens\n"
"\n"
" +C server stores compressed file per revision\n"
" +D server stores deltas in RCS format\n"
" +F server stores full file per revision\n"
" +S server stores only single head revision\n"
" +S<n> server stores <n> number of revisions, where <n>\n"
" is a number 1-10 or 16,32,64,128,256,512.\n"
" +X server runs archive trigger to access files\n"
"\n"
" The following aliases for filetypes are supported for backwards\n"
" compatibility:\n"
"\n"
" Type Is Base Type Plus Modifiers\n"
" -------- ------------ --------------\n"
" ctempobj binary +Sw\n"
" ctext text +C\n"
" cxtext text +Cx\n"
" ktext text +k\n"
" kxtext text +kx\n"
" ltext text +F\n"
" tempobj binary +FSw\n"
" ubinary binary +F\n"
" uresource resource +F\n"
" uxbinary binary +Fx\n"
" xbinary binary +x\n"
" xltext text +Fx\n"
" xtempobj binary +Swx\n"
" xtext text +x\n"
" xunicode unicode +x\n"
" xutf16 utf16 +x\n"
"\n"
" 'p4 add', 'p4 edit', and 'p4 reopen' accept the '-t filetype'\n"
" flag to specify the filetype. If you omit the -t flag, 'p4 add'\n"
" determines filetype using its own logic and the name-to-type\n"
" mapping table managed by 'p4 typemap', if configured.\n"
" 'p4 edit -t auto' will determine the filetype by the above mentioned\n"
" logic.\n"
"\n"
" By default, 'p4 edit' and 'p4 reopen' reuse the current file\n"
" filetype, and 'p4 add' determines the filetype by examining the\n"
" file's contents and its execute permission bits.\n"
"\n"
" If a filetype is specified using only '+mods, then that filetype\n"
" is combined with the default. Most modifiers are simply added to\n"
" the default type, but the +C, +D, and +F storage modifiers replace\n"
" the storage method. To remove a previously assigned modifier, the\n"
" whole filetype must be specified.\n"
};
ErrorId MsgHelp::HelpJobView = { ErrorOf( ES_HELP, 18, E_INFO, EV_NONE, 0 ),
"\n"
" Perforce job views:\n"
"\n"
" A job view is an expression that selects jobs according to word\n"
" and date matches. Job views are used by the 'p4 jobs' -e flag\n"
" to select the jobs to be displayed. The 'p4 user' form contains\n"
" a JobView field, which selects the jobs that are added to newly-\n"
" created changelists.\n"
"\n"
" 'p4 job' indexes all whitespace-separated words and all punctuation-\n"
" separated words within those words. So 'sub-par' is entered into\n"
" the index as 'sub', 'par', and 'sub-par'. Case is not considered.\n"
" 'p4 job' separately indexes all date fields in a way that enables\n"
" you to search for a range of dates.\n"
"\n"
" In its simplest form, a job view is a list of words separated by\n"
" spaces, used to select jobs. For a match to occur, all the specified\n"
" words must appear somewhere in the job, except for date fields:\n"
"\n"
" JobView: GUI redrawing bug\n"
" p4 jobs -e 'GUI redrawing bug'\n"
"\n"
" To match the contents of a particular field, use the 'field=word'\n"
" syntax:\n"
"\n"
" JobView: GUI redrawing status=open \n"
"\n"
" Logical operators & (and), | (or), ^ (not), and () (grouping) can\n"
" also be used. Spaces are treated as a low-precedence 'and' operator:\n"
"\n"
" JobView: redrawing (type=bug|type=sir) status=open\n"
"\n"
" The ^ (not) operator can be used only in conjunction with the & (and)\n"
" or space (and) operators:\n"
"\n"
" JobView: type=bug & ^status=closed\n"
"\n"
" The comparative operators >, >=, <, <=, and = succeed if any\n"
" word in the field matches, so only the = operator\n"
" is useful for matching fields that contain blocks of text:\n"
"\n"
" JobView: priority<=b description=gui\n"
"\n"
" Text searches can use the * wildcard, which matches anything:\n"
"\n"
" JobView: redraw* type=bug\n"
"\n"
" To match operator characters, escape them with \\. To match the\n"
" backslash character, escape it with an additional backslash (\\\\).\n"
"\n"
" Date fields can be searched using comparative operators. Specify\n"
" dates using the format yyyy/mm/dd or yyyy/mm/dd:hh:mm:ss. If you\n"
" omit the time, the equality operators (=, <=, >=) match the whole day:\n"
"\n"
" JobView: reported_date>=1998/01/01 status=closed\n"
"\n"
" Text field comparisons are done alphabetically. Date field \n"
" comparisons are done chronologically.\n"
};
ErrorId MsgHelp::HelpRevisions = { ErrorOf( ES_HELP, 19, E_INFO, EV_NONE, 0 ),
"\n"
" Specifying file revisions and revision ranges:\n"
"\n"
" You can limit the effect of some commands to a single file revision\n"
" or a range of revisions, by appending one of the following revision\n"
" specifiers to the file specification:\n"
"\n"
" #rev - A revision number or one of the following keywords:\n"
" #none - A nonexistent revision (also #0).\n"
" #head - The current head revision (also @now).\n"
" #have - The revision on the current client.\n"
" @change - A change number: the revision as of that change.\n"
" @client - A client name: the revision on the client.\n"
" @label - A label name: the revision in the label.\n"
" @date - A date or date/time: the revision as of that time.\n"
" Either yyyy/mm/dd or yyyy/mm/dd:hh:mm:ss\n"
" Note that yyyy/mm/dd means yyyy/mm/dd:00:00:00.\n"
" To include all events on a day, specify the next day.\n"
"\n"
" Only matching revisions are processed. If you use a label to refer to\n"
" a file that the label doesn't contain, the file is not processed.\n"
"\n"
" If you omit the revision specification, the default is usually #head.\n"
"\n"
" If you specify a revision or range and omit the file specification,\n"
" the command affects all relevant files. For example, #head refers\n"
" to the head revision of all files in the depot, and @label refers\n"
" to the revisions of all files in the specified label.\n"
"\n"
" Files that have been shelved can be accessed by the 'p4 diff',\n"
" 'p4 diff2', 'p4 files' and 'p4 print' commands using the revision\n"
" specification '@=change', where 'change' is the pending changelist\n"
" number.\n"
"\n"
" Some commands accept a range of revisions, specified as the start\n"
" and end revisions separated by a comma. If a single revision is\n"
" specified where a revision range is expected, the revision specifies\n"
" the end revision, and the start defaults to revision #1.\n"
"\n"
" 'p4 obliterate' is an exception: a single revision means only\n"
" that revision.\n"
"\n"
" If you omit the revision specifier, the default is all revisions.\n"
};
ErrorId MsgHelp::HelpViews = { ErrorOf( ES_HELP, 20, E_INFO, EV_NONE, 0 ),
"\n"
" Perforce views:\n"
"\n"
" A Perforce view maps file names from the depot to the client\n"
" workspace (client view) or to another part of the depot\n"
" (branch view), or selects a subset of the depot (label view).\n"
"\n"
" A view is one or more mappings, and each mapping is a pair of file\n"
" names on a line. The left side always refers to the depot namespace;\n"
" the right side refers to the client or depot namespace. Each name\n"
" is in Perforce syntax: it begins with //, followed by the client or\n"
" depot name, then the file name. If the path contains whitespace, it\n"
" must be double-quoted. Perforce syntax uses forward slashes (/) as\n"
" directory separators. Example: \"//depot/a dir/file.c\"\n"
"\n"
" Mappings can contain wildcards. Wildcards on the right and left sides\n"
" of a mapping must match. Valid wildcards are:\n"
"\n"
" * Matches any characters except /\n"
" ... Matches any characters, including /\n"
" %%%%1 to %%%%9 Like *, but used to reorder the path\n"
"\n"
" If more than one mapping line refers to the same files, the later\n"
" mapping line overrides the earlier one.\n"
"\n"
" A mapping line that begins with a + overlays the later mapping on\n"
" an earlier one: if files match both the earlier and later mappings,\n"
" then the file matching the later mapping is used. Overlay mappings\n"
" are supported only for client views, and enable you to map multiple\n"
" server directories to the same client directory.\n"
"\n"
" A mapping line that begins with a & does not override earlier mappings\n"
" for the same depot path, allowing multiple 'ditto' versions of the\n"
" same depot file to be synced to one workspace. Ditto mappings are\n"
" supported only for client views, and files mapped in this way are\n"
" read-only.\n"
"\n"
" To exclude matching files, precede the mapping with a minus sign (-).\n"
};
ErrorId MsgHelp::HelpMaxResults = { ErrorOf( ES_HELP, 21, E_INFO, EV_NONE, 0 ),
"\n"
" Limiting data access:\n"
"\n"
" To avoid swamping servers with requests that result in large datasets,\n"
" the Perforce super-user can limit the amount of data that the server\n"
" handles for client operations.\n"
"\n"
" The following limits can be set: MaxResults, MaxScanRows, MaxLockTime\n"
" and MaxOpenFiles. If an operation exceeds any of these limits, the\n"
" whole operation fails.\n"
"\n"
" MaxResults limits the number of rows of result data buffered and\n"
" prevents the server from using excessive memory.\n"
"\n"
" MaxScanRows limits the number of rows of data considered and prevents\n"
" the server from making large-scale scans.\n"
"\n"
" MaxLockTime limits the amount of time spent during data scans to\n"
" prevent the server from locking tables for too long. MaxLockTime\n"
" starts counting when the first table is locked, and includes time\n"
" spent waiting for any subsequent table locks.\n"
"\n"
" MaxOpenFiles limits the number of files that can be opened by a single\n"
" operation and prevents users from accidentally opening an excessive\n"
" portion of the repository.\n"
"\n"
" To set limits for groups of users, issue the 'p4 group' command.\n"
"\n"
" You may wish to additionally set server.commandlimits=2 in order to\n"
" disable overriding these settings on a per-command basis.\n"
"\n"
" Each group has MaxResults, MaxScanRows, MaxLockTime and MaxOpenFiles\n"
" fields, which limit the resources committed to operations performed by\n"
" members of the group. For these fields, 'unlimited' or 'unset'\n"
" means no limit for that group. An individual user's limit is the\n"
" highest of any group with a limit to which he belongs, unlimited if\n"
" any of his groups has 'unlimited' for that field, or unlimited\n"
" if he belongs to no group with a limit.\n"
"\n"
" For naive users, set MaxResults to a value that is larger than the\n"
" number of files likely to reside in any of their client workspaces.\n"
" Set MaxScanRows to MaxResults multiplied by the average number of\n"
" revisions per file in the repository. As a rule, neither need to\n"
" be smaller than 10000 or 50000 (respectively), and values of 50000\n"
" and 250000 are probably sufficient to prevent accidental misuse\n"
" without interfering with normal use. Set MaxLockTime to a value\n"
" in the 1000-30000 (1-30 second) range. Set MaxOpenFiles to a value\n"
" that is smaller than MaxResults, but larger than the number of files\n"
" likely to exist in a single project.\n"
"\n"
" The following table lists the commands that are controlled by these\n"
" limits, the entity that is counted, and tells you how to adjust the\n"
" operation to run within the limit.\n"
"\n"
" Command Counting Reduce output with:\n"
" ------- -------- -------------------\n"
" p4 add files * ** see (1)\n"
" p4 annotate revisions see (2)\n"
" p4 changes changes -m maxChanges\n"
" p4 changes files revisions see (2)\n"
" p4 delete files * ** see (1)\n"
" p4 describe files * see (3)\n"
" p4 diff files * see (1)\n"
" p4 diff2 files see (1)\n"
" p4 dirs files * see (1)\n"
" p4 edit files * ** see (1)\n"
" p4 fetch revisions see (2)\n"
" p4 filelog revisions see (2)\n"
" p4 files files see (1)\n"
" p4 fixes fixes -j job, -c change\n"
" p4 fixes files revisions see (2)\n"
" p4 fstat files see (1)\n"
" p4 integrate files ** see (1)\n"
" p4 integrated revisions see (2)\n"
" p4 jobs jobs -e query\n"
" p4 jobs files revisions see (2)\n"
" p4 have files * see (1)\n"
" p4 labels files files * see (1)\n"
" p4 labelsync files see (4)\n"
" p4 list files see (1)\n"
" p4 lock files * see (1)\n"
" p4 obliterate revisions * see (2)\n"
" p4 opened files * see (1)\n"
" p4 print files see (1)\n"
" p4 push revisions see (2)\n"
" p4 reload files * see (5)\n"
" p4 revert files * see (1)\n"
" p4 reopen files * see (1)\n"
" p4 resolve files * see (1)\n"
" p4 resolved revisions * see (2)\n"
" p4 reviews -c revisions * see (2)\n"
" p4 sizes files see (1)\n"
" p4 sync files see (1)\n"
" p4 unload files * see (5)\n"
" p4 verify revisions -m maxRevs\n"
" p4 zip revisions see (2)\n"
"\n"
" * Subject to MaxScanRows/MaxLockTime but not MaxResults.\n"
" ** Subject to MaxOpenFiles.\n"
"\n"
" (1) These commands limit files. Use more restrictive wildcards.\n"
"\n"
" (2) These commands limit individual revisions of each file,\n"
" which can significantly exceed the number of actual files.\n"
" Restrict the operation by using more restrictive wildcards on\n"
" the command line to exclude more files, or by using a\n"
" revision range (if permitted).\n"
"\n"
" (3) If the data required to describe a change exceeds the limit,\n"
" 'describe cannot be run.\n"
"\n"
" (4) 'labelsync' limits files. To build up the label in pieces,\n"
" use restrictive wildcards with 'p4 labelsync -a'.\n"
"\n"
" (5) To 'unload' a client, you must be able to scan all the files\n"
" in the client's have list; to 'unload' a label, you must be able\n"
" to scan all the files listed in the label. If you are trying to\n"
" unload or reload your own client or label, but are resource limited,\n"
" you will need to ask an administrator with higher limits to unload\n"
" or reload the client or label for you.\n"
};
ErrorId MsgHelp::HelpCharset = { ErrorOf( ES_HELP, 23, E_INFO, EV_NONE, 0 ),
"\n"
" The Perforce clients and server have an optional mode of operation\n"
" in which all metadata and some file content are stored in the server\n"
" in the UTF8 Unicode character set and are translated into another\n"
" character set on the client.\n"
"\n"
" The environment variable P4CHARSET specifies the client character\n"
" set. Valid settings for P4CHARSET are:\n"
"\n"
" auto (Guess a P4CHARSET based on client OS params\n"
" none (same as unsetting P4CHARSET)\n"
" eucjp\n"
" iso8859-1\n"
" iso8859-5\n"
" iso8859-7\n"
" iso8859-15\n"
" macosroman\n"
" shiftjis\n"
" koi8-r\n"
" utf8 (UTF-8)\n"
" utf8-bom (UTF-8 with Byte-Order-Mark)\n"
" utf16 (UTF-16 with client's byte ordering\n"
" and Byte-OrderMark)\n"
" utf16-nobom (UTF-16 client's byte ordering\n"
" without Byte-Order-Mark)\n"
" utf16le (UTF-16 with little endian byte ordering)\n"
" utf16le-bom (UTF-16 with little endian Byte-Order-Mark)\n"
" utf16be (UTF-16 with big endian byte ordering)\n"
" utf16be-bom (UTF-16 with big endian Byte-Order-Mark)\n"
" utf32 (UTF-32 with client's byte ordering\n"
" and Byte-OrderMark)\n"
" utf32-nobom (UTF-32 client's byte ordering\n"
" without Byte-Order-Mark)\n"
" utf32le (UTF-32 with little endian byte ordering)\n"
" utf32le-bom (UTF-32 with little endian Byte-Order-Mark)\n"
" utf32be (UTF-32 with big endian byte ordering)\n"
" utf32be-bom (UTF-32 with big endian Byte-Order-Mark)\n"
" cp850 (Windows code page 850)\n"
" cp858 (Windows code page 858)\n"
" cp936 (Windows code page 936 - Simplified Chinese)\n"
" cp949 (Windows code page 949 - Korean)\n"
" cp950 (Windows code page 950 - Traditional Chinese)\n"
" cp1251 (Windows code page 1251 - Cyrillic)\n"
" winansi (Windows code page 1252)\n"
" cp1253 (Windows code page 1253 - Greek)\n"
"\n"
" If (and only if) P4CHARSET is set for the client, the server\n"
" must also be operating in Unicode mode. This mode is switched\n"
" on (and never off) by invoking 'p4d -xi' on the server. This\n"
" operation verifies that all existing metadata is valid UTF8,\n"
" and then sets the protected counter 'unicode' to indicate that\n"
" the server now runs in Unicode mode.\n"
"\n"
" If P4CHARSET is not set explicitly when connecting to a Unicode mode\n"
" server, a default charset will be chosen based on the client's\n"
" platform and/or code page.\n"
"\n"
" In Unicode mode, all non-file data (identifiers, descriptions,\n"
" etc) and the content of files of type 'unicode' are translated\n"
" between the character set configured on the client by P4CHARSET\n"
" and UTF8 in the server.\n"
"\n"
" P4CHARSET is supported by 2001.2 and later clients.\n"
"\n"
" When P4CHARSET is set to one of the UTF-16 values, P4COMMANDCHARSET\n"
" must be set to a non-utf-16 value for the p4 command-line client to\n"
" operate correctly. This configuration enables P4CHARSET to control\n"
" the translation of file revision contents while using a command\n"
" line system that is not utf-16 based (because most command lines\n"
" are not utf-16 compatible). All UTF-16 values honor a file's Byte-\n"
" Order-Mark when a file is read. When a file is written, the specified\n"
" UTF-16 format is observed.\n"
};
ErrorId MsgHelp::HelpCommandments = { ErrorOf( ES_HELP, 128, E_INFO, EV_NONE, 0 ),
"\n"
" P4 Commandments -- Values we work by\n"
"\n"
" * We have high standards.\n"
" * We are straightforward.\n"
" * We rise to responsibility.\n"
" * We like work we can be proud of.\n"
" * We like to hear what we've done.\n"
" * We value both people skills and job skills.\n"
" * We treat each other with dignity and respect.\n"
" * We are one team. We are not in competition with each other.\n"
" * We talk and listen. We like feedback.\n"
" * We appreciate creative and practical solutions. There might be\n"
" a better way.\n"
" * We appreciate people for who they are.\n"
" * Fun is always an option. It is not mandatory.\n"
" * These are the best years of our lives.\n"
};
ErrorId MsgHelp::HelpCredits = { ErrorOf( ES_HELP, 24, E_INFO, EV_NONE, 0 ),
"\n"
" Perforce, The Fast Software Configuration Management System,\n"
" from the fleet fingers of Christopher Seiwald, with notable\n"
" contributions from Jeff Anton, Michael Bishop, Brian Campbell,\n"
" Geri Clucas, Cal Collier, Jason Gibson, Wendy Heffner, Sven Knop,\n"
" Peter Kreps, Fred Malouf, Mark Mears, Michael Alyn Miller,\n"
" Bryan Pendleton, Nick Poole, Mike Schonberg, Andy Shebanow,\n"
" Michael Shields, David Sielaff, Tony Smith, Sam Stafford,\n"
" James Strickland, Brett Taylor, Marc Tooley, Alan Teague\n"
" and Mark Wittenberg.\n"
};
ErrorId MsgHelp::HelpAdd = { ErrorOf( ES_HELP, 25, E_INFO, EV_NONE, 0 ),
"\n"
" add -- Open a new file to add it to the depot\n"
"\n"
" p4 add [-c changelist#] [-d -f -I -n] [-t filetype] file ...\n"
"\n"
" Open a file for adding to the depot. If the file exists on the\n"
" client, it is read to determine if it is text or binary. If it does\n"
" not exist, it is assumed to be text. To be added, the file must not\n"
" already reside in the depot, or it must be deleted at the current\n"
" head revision. Files can be deleted and re-added.\n"
"\n"
" A 2012.1 client will ignore files that were to be added, if they\n"
" match an exclusion line specified in a P4IGNORE file.\n"
"\n"
" To associate the open files with a specific pending changelist, use\n"
" the -c flag; if you omit the -c flag, the open files are associated\n"
" with the default changelist. If file is already open, it is moved\n"
" into the specified pending changelist. You cannot reopen a file for\n"
" add unless it is already open for add.\n"
"\n"
" As a shortcut to reverting and re-adding, you can use the -d\n"
" flag to reopen currently-open files for add (downgrade) under\n"
" the following circumstances:\n"
"\n"
" A file that is 'opened for edit' and is synced to the head\n"
" revision, and the head revision has been deleted (or moved).\n"
"\n"
" A file that is 'opened for move/add' can be downgraded to add,\n"
" which is useful when the source of the move has been deleted\n"
" or moved. Typically, under these circumstances, your only\n"
" alternative is to revert. In this case, breaking the move\n"
" connection enables you to preserve any content changes in the\n"
" new file and safely revert the source file (of the move).\n"
"\n"
" To specify file type, use the -t flag. By default, 'p4 add'\n"
" determines file type using the name-to-type mapping table managed\n"
" by 'p4 typemap' and by examining the file's contents and execute\n"
" permission bit. If the file type specified by -t or configured in\n"
" the typemap table is a partial filetype, the resulting modifier is\n"
" applied to the file type that is determined by 'p4 add'. For more\n"
" details, see 'p4 help filetypes'.\n"
"\n"
" To add files with filenames that contain wildcard characters, specify\n"
" the -f flag. Filenames that contain the special characters '@', '#',\n"
" '%%' or '*' are reformatted to encode the characters using ASCII\n"
" hexadecimal representation. After the files are added, you must\n"
" refer to them using the reformatted file name, because Perforce\n"
" does not recognize the local filesystem name.\n"
"\n"
" The -I flag informs the client that it should not perform any ignore\n"
" checking configured by P4IGNORE.\n"
"\n"
" The -n flag displays a preview of the specified add operation without\n"
" changing any files or metadata.\n"
};
ErrorId MsgHelp::HelpServerid = { ErrorOf( ES_HELP, 139, E_INFO, EV_NONE, 0 ),
"\n"
" p4 serverid [serverID]\n"
"\n"
" 'p4 serverid' gets or sets the unique id of the server. Use\n"
" this command after you have first described the server using the\n"
" 'p4 server' command.\n"
"\n"
" Unless a P4NAME value has been specified for the server, the server\n"
" uses the serverid to determine the appropriate configuration settings\n"
" (see 'p4 help configure').\n"
"\n"
" The recommended technique for configuring servers in a multi-server\n"
" installation is to give each server its own serverid, and specify\n"
" the server configuration for that serverid; specifying a separate\n"
" P4NAME for the server is generally not necessary.\n"
};
ErrorId MsgHelp::HelpAdmin = { ErrorOf( ES_HELP, 26, E_INFO, EV_NONE, 0 ),
"\n"
" admin -- Perform administrative operations on the server\n"
"\n"
" p4 admin checkpoint [-z | -Z] [prefix]\n"
" p4 admin journal [-z] [prefix]\n"
" p4 admin stop\n"
" p4 admin restart\n"
" p4 admin updatespecdepot [-a | -s type]\n"
" p4 admin resetpassword -a | -u user\n"
" p4 admin setldapusers\n"
"\n"
" 'p4 admin updatespecdepot' and 'p4 admin resetpassword' require\n"
" 'super' access. The others require that the user be an operator\n"
" or have 'super' access.\n"
"\n"
" 'p4 admin checkpoint' causes the server to take a checkpoint and\n"
" to copy the journal to a numbered journal file. This command is\n"
" equivalent to 'p4d -jc'.\n"
"\n"
" 'p4 admin journal' causes the server to save the journal to a\n"
" numbered journal file and then truncate it. This command is\n"
" equivalent to 'p4d -jj'.\n"
"\n"
" The -z flag saves the checkpoint and journal in compressed (gzip)\n"
" format, with the '.gz' extension added to the file names.\n"
"\n"
" The -Z flag saves the checkpoint in compressed (gzip) format,\n"
" with the '.gz' extension added to the file name, but saves\n"
" the journal as plain text (without an appended '.gz' extension).\n"
" This allows a replica to update from the uncompressed journal\n"
" without requiring the replica to stop and restart, while still\n"
" saving disk space by compressing the presumably large checkpoint.\n"
"\n"
" If a prefix is specified, the files are named prefix.ckp.n and\n"
" prefix.jnl.n respectively, where n is a sequence number. Without\n"
" a prefix, the default filenames are checkpoint.n and journal.n.\n"
"\n"
" 'p4 admin stop' stops the server, terminating any requests currently\n"
" running. It locks the database to ensure that no updates are taking\n"
" place, but otherwise does not wait for users to finish what they are\n"
" doing. (Windows NT: this command can be used regardless of whether\n"
" you are running the server as a program or a service.)\n"
"\n"
" 'p4 admin restart' restarts the server, terminating any requests\n"
" currently running. It locks the database to ensure that no updates\n"
" are taking place, but otherwise does not wait for users to finish what\n"
" they are doing. (Windows NT: this command can be used regardless of\n"
" whether you are running the server as a program or a service.) The\n"
" restarted server will pick up the latest configurable settings.\n"
"\n"
" 'p4 admin updatespecdepot' archives forms (client, depot, branch,\n"
" label, typemap, group, user, job, stream, triggers, protect, server,\n"
" license, and jobspec forms) into the spec depot. To archive\n"
" all types of form specifications specify the -a flag. To archive\n"
" a single type of spec, specify the '-s' flag. Only forms that have\n"
" not yet been archived are created.\n"
"\n"
" 'p4 admin resetpassword' forces specified users with existing\n"
" passwords to change their passwords before they can run another\n"
" command. To force password reset of all users with passwords, specify\n"
" the '-a' flag. To force password reset of a single user, specify the\n"
" '-u' flag.\n"
"\n"
" 'p4 admin setldapusers' bulk updates users' AuthMethod field to 'ldap'.\n"
" This affects all non-super users of standard type.\n"
"\n"
};
ErrorId MsgHelp::HelpJournaldbchecksums = { ErrorOf( ES_HELP, 135, E_INFO, EV_NONE, 0 ),
"\n"
" journaldbchecksums -- write journal notes with table checksums\n"
"\n"
" p4 journaldbchecksums [-t tableincludelist | -T tableexcludelist] [-l N]\n"
" p4 journaldbchecksums -u filename -t tablename [-v N] [-z]\n"
" p4 journaldbchecksums -s -t tablename [ -b blocksize ][-v N] \n"
" p4 journaldbchecksums -c change\n"
"\n"
" 'p4 journaldbchecksums' provides a set of tools for ensuring data\n"
" integrity across a multi-server installation.\n"
"\n"
" This command enables administrators to compare database contents\n"
" between the master server and its replicas. Important information\n"
" about the results of the command is logged to structured server logs\n"
" as events of type 'integrity', so using this command effectively\n"
" includes defining a log such as 'integrity.csv' to capture these log\n"
" events and then reviewing the log files regularly.\n"
"\n"
" Effective replica monitoring must be performed regularly, so when\n"
" using the 'p4 journaldbchecksums' command, you should ensure\n"
" that the rpl.checksum.change and rpl.checksum.table configurables\n"
" have been configured to enable routine integrity verification, and\n"
" you should ensure that you regularly inspect your integrity logs for\n"
" indications of problems.\n"
"\n"
" The rpl.checksum.change configurable can be set to 0,1,2,3; it\n"
" defaults to 0. The levels operate as follows:\n"
" 0: don't do any changelist checksumming\n"
" 1: server writes journal note at end of submit, populate,\n"
" push, fetch, and unzip commands\n"
" 2: replica should verify the changelist summary, and should\n"
" write to integrity.csv if the changelist does not match\n"
" 3: replica should write the results to integrity.csv even\n"
" if the changelist checksum does match\n"
"\n"
" The rpl.checksum.table configurable can be set to 0,1,2; it\n"
" defaults to 0. The levels operate as follows:\n"
" 0: table-level checksumming only\n"
" 1: journal notes for table-unload and table-scan are processed\n"
" by the replica, and are logged if the check fails\n"
" 2: results of journal note processing in the replica are\n"
" logged even if the results match.\n"
"\n"
" The first form of the 'p4 journaldbchecksums' command causes the\n"
" server to write journal notes containing table checksum information.\n"
" Replica servers will automatically verify the table checksums when\n"
" processing these notes.\n"
"\n"
" The -t and -T flags specify a list of database tables that are,\n"
" respectively, included or excluded from the set of tables for which\n"
" journal notes are written. To specify multiple tables, double-quote\n"
" the list and separate the table names with spaces. The table names\n"
" must start with \"db.\". Table names can also be separated by commas.\n"
"\n"
" When the server rotates its journal as part of the 'admin checkpoint'\n"
" or 'admin journal' commands, it automatically performs the\n"
" 'journaldbchecksums' command; the set of tables included in the\n"
" command is controlled by the rpl.checksum.auto configurable. To\n"
" specify the same set of tables explicitly in the 'journaldbchecksums'\n"
" command, specify the table set level using the -l flag.\n"
"\n"
" The table set levels for this release are:\n"
" 1: the most important system and revision tables. Checksum errors\n"
" in these tables should be investigated immediately.\n"
" 2: all tables that should not vary between unfiltered replicas\n"
" 3: all tables, including tables which will vary on build-server\n"
" and edge-server replicas\n"
"\n"
" Note that if data filtering is used for a replica, both the table\n"
" and changelist checksums are affected and can be expected to differ.\n"
"\n"
" The second form of the 'p4 journaldbchecksums' command causes the\n"
" server to unload the specified database table to the specified file.\n"
" The command also writes a journal note describing this action, and\n"
" replica servers will automatically unload the same table to the same\n"
" file when processing these notes. This allows you to compare the\n"
" contents of the table in a time-consistent fashion. This command\n"
" is recommended only for tables that are small. The -z flag specifies\n"
" that the file should be compressed.\n"
"\n"
" The third form of the 'p4 journaldbchecksums' command causes the\n"
" server to scan the specified database table. The table is scanned\n"
" in blocks; the number of records in a block is specified by the -b\n"
" flag, which defaults to 5,000. For each block, the server computes\n"
" a block checksum and writes it as a journal note. Replica servers\n"
" will automatically verify these blocks when processing these notes.\n"
" This command can be used with large tables on a production system\n"
" as the table is unlocked between each block. Inspecting the results\n"
" of the block verifications will reveal the location of damage which\n"
" affects only part of a database table.\n"
"\n"
" When unloading or scanning a table, the -v flag specifies the server\n"
" version number to use. If it is not specified, the current server\n"
" version is used.\n"
"\n"
" The fourth form of the 'p4 journaldbchecksums' command causes the\n"
" server to compute a checksum of an individual submitted changelist.\n"
" This checksum is written as a journal note, and replica servers will\n"
" automatically verify the checksum of the change when processing\n"
" these notes.\n"
"\n"
" 'p4 journaldbchecksums' requires that the user be an operator or\n"
" have 'super' access.\n"
};
ErrorId MsgHelp::HelpJournalcopy = { ErrorOf( ES_HELP, 171, E_INFO, EV_NONE, 0 ),
"\n"
" journalcopy -- Copy journal data from master to local filesystem\n"
"\n"
" p4 journalcopy -i N [-b N] [--durable-only] [--non-acknowledging]\n"
" p4 journalcopy -l\n"
"\n"
" 'p4 journalcopy' is used with a standby replica that can take\n"
" over as the master server in the event of a failover.\n"
"\n"
" Complete configuration of a standby replica involves several steps.\n"
" Please consult the Perforce documentation set for the full details.\n"
"\n"
" The -i flag causes the command to automatically repeat its action\n"
" every N seconds. If -i is not specified, the command runs once,\n"
" then exits.\n"
"\n"
" The -b flag specifies a wait time before retrying a journalcopy after\n"
" a failed journalcopy attempt. This defaults to 60 seconds.\n"
"\n"
" The --durable-only flag limits the results to durable journal records.\n"
"\n"
" The --non-acknowledging flag means that this request does not mark\n"
" previous journal records as durable.\n"
"\n"
" The -l flag reports the current standby journal position.\n"
"\n"
" This command requires 'super' access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpBranch = { ErrorOf( ES_HELP, 27, E_INFO, EV_NONE, 0 ),
"\n"
" branch -- Create, modify, or delete a branch view specification\n"
"\n"
" p4 branch [-f] name\n"
" p4 branch -d [-f] name\n"
" p4 branch [ -S stream ] [ -P parent ] -o name\n"
" p4 branch -i [-f]\n"
"\n"
" A branch specification ('spec') is a named, user-defined mapping of\n"
" depot files to depot files. It can be used with most of the commands\n"
" that operate on two sets of files ('copy', 'merge', 'integrate',\n"
" 'diff2', etc.)\n"
"\n"
" Creating a branch spec does not branch files. To branch files, use\n"
" 'p4 copy', with or without a branch spec.\n"
" \n"
" The 'branch' command puts the branch spec into a temporary file and\n"
" invokes the editor configured by the environment variable $P4EDITOR.\n"
" Saving the file creates or modifies the branch spec.\n"
"\n"
" The branch spec contains the following fields:\n"
"\n"
" Branch: The branch spec name (read only).\n"
"\n"
" Owner: The user who created this branch spec. Can be changed.\n"
"\n"
" Update: The date this branch spec was last modified.\n"
"\n"
" Access: The date of the last command used with this spec.\n"
"\n"
" Description: A description of the branch spec (optional).\n"
"\n"
" Options: Flags to change the branch spec behavior. The defaults\n"
" are marked with *.\n"
"\n"
" locked Permits only the owner to change the spec.\n"
" unlocked * Prevents the branch spec from being deleted.\n"
"\n"
" View: Lines mapping of one view of depot files to another.\n"
" Both the left and right-hand sides of the mappings refer\n"
" to the depot namespace. See 'p4 help views' for more on\n"
" view syntax.\n"
"\n"
" New branch specs are created with a default view that maps all depot\n"
" files to themselves. This view must be changed before the branch\n"
" spec can be saved.\n"
"\n"
" The -d flag deletes the named branch spec.\n"
"\n"
" The -o flag writes the branch spec to standard output. The user's\n"
" editor is not invoked.\n"
"\n"
" The -i flag causes a branch spec to be read from the standard input.\n"
" The user's editor is not invoked.\n"
"\n"
" The -f flag enables a user with 'admin' privilege to delete the spec\n"
" or set the 'last modified' date. By default, specs can be deleted\n"
" only by their owner.\n"
"\n"
" A branch spec can also be used to expose the internally generated\n"
" mapping of a stream to its parent. (See 'p4 help stream' and 'p4\n"
" help streamintro'.)\n"
"\n"
" The -S stream flag will expose the internally generated mapping.\n"
" The -P flag may be used with -S to treat the stream as if it were a\n"
" child of a different parent. The -o flag is required with -S.\n"
};
ErrorId MsgHelp::HelpAnnotate = { ErrorOf( ES_HELP, 87, E_INFO, EV_NONE, 0 ),
"\n"
" annotate -- Print file lines and their revisions\n"
"\n"
" p4 annotate [-aciIqtTu -d<flags>] file[revRange] ...\n"
"\n"
" Prints all lines of the specified files, indicating the revision that\n"
" introduced each line into the file.\n"
"\n"
" If the file argument includes a revision, then only revisions up to\n"
" the specified revision are displayed. If the file argument has a\n"
" revision range, only revisions within that range are displayed. For\n"
" details about specifying revisions, see 'p4 help revisions'.\n"
"\n"
" The -a flag includes both deleted files and lines no longer present\n"
" at the head revision. In the latter case, both the starting and ending\n"
" revision for each line is displayed.\n"
"\n"
" The -c flag directs the annotate command to output changelist numbers\n"
" rather than revision numbers for each line.\n"
"\n"
" The -d<flags> change the way whitespace and/or line endings are\n"
" treated: -db (ignore whitespace changes), -dw (ignore whitespace),\n"
" -dl (ignore line endings).\n"
"\n"
" The -i flag follows branches. If a file was created by branching,\n"
" 'p4 annotate' includes the revisions of the source file up to the\n"
" branch point, just as 'p4 filelog -i' does. If a file has history\n"
" prior to being created by branching (such as a file that was branched\n"
" on top of a deleted file), -i ignores those prior revisions and\n"
" follows the source. -i implies -c.\n"
"\n"
" The -I flag follows all integrations into the file. If a line was\n"
" introduced into the file by a merge, the source of the merge is\n"
" displayed as the changelist that introduced the line. If the source\n"
" itself was the result of an integration, that source is used instead,\n"
" and so on. -I implies -c and may not be combined with -i.\n"
"\n"
" The -q flag suppresses the one-line header that is displayed by\n"
" default for each file.\n"
"\n"
" The -t flag forces 'p4 annotate' to display binary files.\n"
"\n"
" The -T flag aligns output to a tab stop of 8. A different tab stop\n"
" may be specified via '--tab=N'.\n"
"\n"
" The -u flag directs the annotate command to output the user who\n"
" modified the line in the file and the date it was modified.\n"
};
ErrorId MsgHelp::HelpArchive = { ErrorOf( ES_HELP, 125, E_INFO, EV_NONE, 0 ),
"\n"
" archive -- Archive obsolete revisions to an archive depot.\n"
"\n"
" p4 archive [-n -h -p -q -t] -D <depot> file[revRange] ...\n"
"\n"
" Moves the archives for the specified revisions into the specified\n"
" depot, which must be an archive depot. The revision's action is\n"
" changed to 'archive' so that all commands that access revision\n"
" content will skip the revision. Only revisions that meet the\n"
" following criteria are archived:\n"
"\n"
" - stored in full (+F) or compressed (+C) format\n"
" - not copied or branched from another revision\n"
" - not copied or branched to another revision\n"
" - located in a local depot\n"
"\n"
" The storage for the archive depot must be mounted before running\n"
" this command (unless you are previewing results using the -n flag).\n"
"\n"
" The -h flag prevents the head revision of files from being archived.\n"
"\n"
" The -n flag displays a preview of the results of the archive\n"
" operation.\n"
"\n"
" The -p flag purges any archives of the specified files in the\n"
" specified archive depot. On completion, the action for affected\n"
" revisions is set to 'purge'.\n"
"\n"
" The -q flag suppresses messages about skipped revisions.\n"
"\n"
" The -t flag instructs 'p4 archive' to archive revisions stored\n"
" in delta format (binary+D or text revisions). By default, these\n"
" revisions are excluded due to the high cost of manipulating\n"
" their storage.\n"
"\n"
" 'p4 archive' requires Perforce 'admin' access.\n"
"\n"
" To restore archived revisions, use 'p4 restore'; for details, see\n"
" 'p4 help restore'.\n"
};
ErrorId MsgHelp::HelpAttribute = { ErrorOf( ES_HELP, 95, E_INFO, EV_NONE, 0 ),
"\n"
" attribute -- Set per-revision attributes on revisions\n"
"\n"
" p4 attribute [-e -f -p] -n name [-v value] files...\n"
" p4 attribute [-e -f -p] -i -n name file\n"
"\n"
" Sets a user-managed attribute 'name' to 'value' on opened files.\n"
" If -v is omitted, the attribute is cleared (if set).\n"
"\n"
" To display attributes use 'p4 fstat -Oa'.\n"
"\n"
" The -e flag indicates that the 'value' is specified in hex.\n"
"\n"
" The -f flag sets the attribute on submitted files. If a propagating\n"
" trait is set on a submitted file, a revision specification may not\n"
" be used, and the file must not be currently open on any client.\n"
" The -f flag requires 'admin' access granted by 'p4 protect'.\n"
"\n"
" The -p flag creates an attribute with a value that is propagated\n"
" when the file is opened with 'p4 add', 'p4 edit', or 'p4 delete'.\n"
"\n"
" The -i flag causes the attribute value to be read from the standard\n"
" input. Only one file argument is allowed when using this option.\n"
"\n"
" Multiple attributes can be set or cleared by specifying multiple\n"
" '-n name' flags and an equal number of corresponding '-v value'\n"
" flags (to set) or no '-v' flags (to clear).\n"
"\n"
" 'p4 attribute -p' is not supported for files in a pending change\n"
" from an edge server in a distributed environment.\n"
};
ErrorId MsgHelp::HelpBackup = { ErrorOf( ES_HELP, 190, E_INFO, EV_NONE, 0 ),
"\n"
" backup -- cause a workspace-server to automatically backup its workspaces\n"
"\n"
" p4 backup"
"\n"
" 'p4 backup' instructs this workspace server to launch a process to\n"
" periodically backup all workspaces on the server. This command is\n"
" valid only when used on p4d servers functioning as cluster\n"
" workspace-servers. The behavior of the backup process is managed\n"
" via two configurables: the client.backup.interval and the\n"
" idle.unload.interval.\n"
"\n"
" The configurable client.backup.interval causes the command to\n"
" automatically repeat its action every N seconds. If the \n"
" client.backup.interval is not set or set to 0 then\n"
" the command runs once, then exits.\n"
"\n"
" When set, the idle.unload.interval configurable causes the command\n"
" to police the last used time all workspaces participating in backup*.\n"
" Each of the workspaces that have a last used time that exceeds the\n"
" specified N number of seconds will be automatically unloaded. If this\n"
" configurable is not set, or set to 0, the auto-unload feature is\n"
" turned off.\n"
"\n"
" *A user can opt out of having one or more of their workspaces backed\n"
" up by setting the Backup field to 'disable' in that workspace's \n"
" client spec. By default all non-readonly workspaces have backup\n"
" enabled unless this option is set. Setting this option to \n"
" 'disable' is recommended for build farm workspaces.\n"
"\n"
};
ErrorId MsgHelp::HelpBranches = { ErrorOf( ES_HELP, 28, E_INFO, EV_NONE, 0 ),
"\n"
" branches -- Display list of branch specifications\n"
"\n"
" p4 branches [-t] [-u user] [[-e|-E] nameFilter -m max]\n"
"\n"
" Lists branch specifications. (See 'p4 help branch'.) \n"
"\n"
" The -t flag displays the time as well as the date.\n"
"\n"
" The -u user flag lists branch specs owned by the specified user.\n"
"\n"
" The -e nameFilter flag lists branch specs with a name that matches\n"
" the nameFilter pattern, for example: -e 'svr-dev-rel*'. The -e flag\n"
" uses the server's normal case-sensitivity rules. The -E flag makes\n"
" the matching case-insensitive, even on a case-sensitive server.\n"
"\n"
" The -m max flag limits output to the specified number of branch specs.\n"
};
ErrorId MsgHelp::HelpBroker = { ErrorOf( ES_HELP, 149, E_INFO, EV_NONE, 0 ),
"\n"
" broker -- Display Broker connection information\n"
"\n"
" p4 broker\n"
"\n"
" 'p4 broker' is only understood by the Perforce Broker.\n"
"\n"
" 'p4 broker' lists information about the broker which the client is\n"
" connected to. Items displayed include the client's network address,\n"
" the broker's network address, and the broker's version information.\n"
};
ErrorId MsgHelp::HelpChange = { ErrorOf( ES_HELP, 29, E_INFO, EV_NONE, 0 ),
"\n"
" change -- Create or edit a changelist description\n"
" changelist -- synonym for 'change'\n"
"\n"
" p4 change [-s] [-f | -u] [[-O|-I] changelist#]\n"
" p4 change -d [-f -s -O] changelist#\n"
" p4 change -o [-s] [-f] [[-O|-I] changelist#]\n"
" p4 change -i [-s] [-f | -u] \n"
" p4 change -t restricted | public [-U user] [-f|-u|-O|-I] changelist#\n"
" p4 change -U user [-t restricted | public] [-f] changelist#\n"
" p4 change -d -f --serverid=X changelist#\n"
"\n"
" 'p4 change' creates and edits changelists and their descriptions.\n"
" With no argument, 'p4 change' creates a new changelist. If a\n"
" changelist number is specified, 'p4 change' edits an existing\n"
" pending changelist. In both cases, the changelist specification\n"
" is placed into a form and the user's editor is invoked.\n"
"\n"
" The -d flag deletes a pending changelist, if it has no opened files\n"
" and no pending fixes associated with it. Use 'p4 opened -a' to\n"
" report on opened files and 'p4 reopen' to move them to another\n"
" changelist. Use 'p4 fixes -c changelist#' to report on pending\n"
" fixes and 'p4 fix -d -c changelist# jobs...' to delete pending\n"
" fixes. The changelist can be deleted only by the user and client\n"
" who created it, or by a user with 'admin' privilege using the -f\n"
" flag.\n"
"\n"
" The -o flag writes the changelist specification to the standard\n"
" output. The user's editor is not invoked.\n"
"\n"
" The -i flag reads a changelist specification from the standard\n"
" input. The user's editor is not invoked.\n"
"\n"
" The -f flag forces the update or deletion of other users' pending\n"
" changelists. -f can also force the deletion of submitted changelists\n"
" after they have been emptied of files using 'p4 obliterate'. By\n"
" default, submitted changelists cannot be changed. The -f flag can\n"
" also force display of the 'Description' field in a restricted\n"
" changelist. Finally the -f flag can force changing the 'User' of\n"
" an empty pending change via -U. The -f flag requires 'admin'\n"
" access granted by 'p4 protect'. The -f and -u flags are mutually\n"
" exclusive.\n"
"\n"
" The -u flag can force the update of a submitted change by the owner\n"
" of the change. Only the Jobs, Type, and Description fields can be\n"
" changed using the -u flag. The -f and -u flags cannot be used in\n"
" the same change command.\n"
"\n"
" The -s flag extends the list of jobs to include the fix status\n"
" for each job. On new changelists, the fix status begins as the\n"
" special status 'ignore', which, if left unchanged simply excludes\n"
" the job from those being fixed. Otherwise, the fix status, like\n"
" that applied with 'p4 fix -s', becomes the job's status when\n"
" the changelist is committed. Note that this option exists\n"
" to support integration with external defect trackers.\n"
"\n"
" The -O flag specifies that the changelist number is the original\n"
" number of a changelist which was renamed on submit.\n"
"\n"
" The -I flag specifies that the changelist number is the Identity\n"
" field of a changelist.\n"
"\n"
" The -U flag changes the 'User' of an empty pending change to the\n"
" specified user. The user field can only be changed using this flag\n"
" by the user who created the change, or by a user with 'admin'\n"
" privilege using the -f flag. This option is useful for running\n"
" in a trigger or script.\n"
"\n"
" The -t flag changes the 'Type' of the change to 'restricted'\n"
" or 'public' without displaying the change form. This option is\n"
" useful for running in a trigger or script.\n"
"\n"
" The 'Type' field can be used to hide the change or its description\n"
" from users. Valid values for this field are 'public' (default), and\n"
" 'restricted'. A shelved or committed change that is 'restricted' is\n"
" accessible only to users who own the change or have 'list' permission\n"
" to at least one file in the change. A pending (not shelved)\n"
" restricted change is only accessible to its owner. Public changes\n"
" are accessible to all users. This setting affects the output of the\n"
" 'p4 change', 'p4 changes', and 'p4 describe' commands. Note that\n"
" the '-S' flag is required with 'p4 describe' for the command to\n"
" enforce shelved rather than pending restricted changelist rules.\n"
"\n"
" If a user is not permitted to have access to a restricted change,\n"
" The 'Description' text is replaced with a 'no permission' message\n"
" (see 'Type' field). Users with admin permission can override the\n"
" restriction using the -f flag.\n"
"\n"
" In order to delete a pending changelist which is owned by a client\n"
" on a different server, specify 'change -d -f --serverid=X', providing\n"
" the serverid of the owning server. This variant of the change command\n"
" must be issued directly to the Commit Server.\n"
};
ErrorId MsgHelp::HelpChanges = { ErrorOf( ES_HELP, 30, E_INFO, EV_NONE, 0 ),
"\n"
" changes -- Display list of pending and submitted changelists\n"
" changelists -- synonym for 'changes'\n"
"\n"
" p4 changes [-i -t -l -L -f] [-c client] [ -e changelist# ]\n"
" [-m max] [-s status] [-u user] [file[revRange] ...]\n"
"\n"
" Returns a list of all pending and submitted changelists currently\n"
" stored in the server.\n"
"\n"
" If files are specified, 'p4 changes' lists only changelists that\n"
" affect those files. If the file specification includes a revision\n"
" range, 'p4 changes' lists only submitted changelists that affect\n"
" the specified revisions. See 'p4 help revisions' for details.\n"
"\n"
" If files are not specified, 'p4 changes' limits its report\n"
" according to each change's type ('public' or 'restricted').\n"
" If a submitted or shelved change is restricted, the change is\n"
" not reported unless the user owns the change or has list\n"
" permission for at least one file in the change. Only the owner\n"
" of a restricted and pending (not shelved) change is permitted\n"
" to see it.\n"
"\n"
" The -i flag also includes any changelists integrated into the\n"
" specified files.\n"
"\n"
" The -t flag displays the time as well as the date.\n"
"\n"
" The -l flag displays the full text of the changelist\n"
" descriptions.\n"
"\n"
" The -L flag displays the changelist descriptions, truncated to 250\n"
" characters if longer.\n"
"\n"
" The -f flag enables admin users to view restricted changes.\n"
"\n"
" The -c client flag displays only submitted by the specified client.\n"
"\n"
" The -e changelist# flag displays only changes that are above and\n"
" including the specified changelist number.\n"
"\n"
" The -m max flag limits changes to the 'max' most recent.\n"
"\n"
" The -s status flag limits the output to changelists with the specified\n"
" status. Specify '-s pending', '-s shelved', or '-s submitted'.\n"
"\n"
" The -u user flag displays only changes owned by the specified user.\n"
};
ErrorId MsgHelp::HelpClient = { ErrorOf( ES_HELP, 31, E_INFO, EV_NONE, 0 ),
"\n"
" client -- Create or edit a client workspace specification and its view\n"
" workspace -- Synonym for 'client'\n"
"\n"
" p4 client [-f] [-t template] [name]\n"
" p4 client -d [-f [-Fs]] name\n"
" p4 client -o [-t template] [name]\n"
" p4 client -S stream [[-c change] -o] [name]\n"
" p4 client -s [-f] -S stream [name]\n"
" p4 client -s [-f] -t template [name]\n"
" p4 client -i [-f]\n"
" p4 client -d -f --serverid=X [-Fs] name\n"
"\n"
" Creates a new client specification ('spec') or edits an existing\n"
" spec. A client spec is a named mapping of depot files to workspace\n"
" files.\n"
"\n"
" The 'p4 client' command puts the client spec into a temporary file\n"
" and invokes the editor configured by the environment variable\n"
" $P4EDITOR. For new workspaces, the client name defaults to the\n"
" $P4CLIENT environment variable, if set, or to the current host name.\n"
" Saving the file creates or modifies the client spec.\n"
"\n"
" The client spec contains the following fields:\n"
"\n"
" Client: The client name.\n"
"\n"
" Host: If set, restricts access to the named host.\n"
" If unset, access is allowed from any host.\n"
"\n"
" Owner: The user who created this client.\n"
"\n"
" Update: The date that this spec was last modified.\n"
"\n"
" Access: The date that this client was last used in any way.\n"
"\n"
" Description: A short description of the workspace.\n"
"\n"
" Root: The root directory of the workspace (specified in local\n"
" file system syntax), under which all versioned files\n"
" will be placed. If you change this setting, you must\n"
" physically relocate any files that currently reside\n"
" there. On Windows client machines, you can specify the\n"
" root as \"null\" to enable you to map files to multiple\n"
" drives.\n"
"\n"
" AltRoots: Up to two optional alternate client workspace roots.\n"
" The first of the main and alternate roots to match the\n"
" client program's current working directory is used. If\n"
" none match, the main root is used. 'p4 info' displays\n"
" the root that is being used.\n"
"\n"
" Options: Flags to configure the client behavior. Defaults\n"
" are marked with *.\n"
"\n"
" allwrite Leaves all files writable on the client;\n"
" noallwrite * by default, only files opened by 'p4 edit'\n"
" are writable. If set, files might be clobbered\n"
" as a result of ignoring the clobber option\n"
" (see below).\n"
"\n"
" clobber Permits 'p4 sync' to overwrite writable\n"
" noclobber * files on the client. noclobber is ignored if\n"
" allwrite is set.\n"
"\n"
" compress Compresses data sent between the client\n"
" nocompress * and server to speed up slow connections.\n"
"\n"
" locked Allows only the client owner to use or change\n"
" unlocked * the client spec. Prevents the client spec from\n"
" being deleted or unloaded.\n"
"\n"
" modtime Causes 'p4 sync' and 'p4 submit' to preserve\n"
" nomodtime * file modification time, as with files with the\n"
" +m type modifier. (See 'p4 help filetypes'.)\n"
" With nomodtime, file timestamps are updated by\n"
" sync and submit operations.\n"
"\n"
" rmdir Makes 'p4 sync' attempt to delete a workspace\n"
" normdir * directory when all files in it are removed.\n"
"\n"
" SubmitOptions: Flags to change submit behavior.\n"
"\n"
" submitunchanged All open files are submitted (default).\n"
"\n"
" revertunchanged Files that have content, type, or resolved\n"
" changes are submitted. Unchanged files are\n"
" reverted.\n"
"\n"
" leaveunchanged Files that have content, type, or resolved\n"
" changes are submitted. Unchanged files are\n"
" moved to the default changelist.\n"
"\n"
" +reopen Can be appended to the submit option flag\n"
" to cause submitted files to be reopened in\n"
" the default changelist.\n"
" Example: submitunchanged+reopen\n"
"\n"
" LineEnd: Set line-ending character(s) for client text files.\n"
"\n"
" local mode that is native to the client (default).\n"
" unix linefeed: UNIX style.\n"
" mac carriage return: Macintosh style.\n"
" win carriage return-linefeed: Windows style.\n"
" share hybrid: writes UNIX style but reads UNIX,\n"
" Mac or Windows style.\n"
"\n"
" View: Maps files in the depot to files in your client\n"
" workspace. Defines the files that you want in your\n"
" client workspace and specifies where you want them\n"
" to reside. The default view maps all depot files\n"
" onto the client. See 'p4 help views' for view syntax.\n"
" A new view takes effect on the next 'p4 sync'.\n"
"\n"
" ChangeView: Restricts depot paths to a particular point in time.\n"
" Example: //depot/path/...@1000\n"
" Revisions submitted to the path after the specified\n"
" changelist will not be visible. Files matching a\n"
" ChangeView path may not be submitted.\n"
"\n"
" Automatic labels may also used to specify a particular\n"
" point in time: the label's 'Revision' field must be set\n"
" to a changelist number or a date. If the label has a\n"
" view, only files that match the intersection of the\n"
" ChangeViewpath and the label's view will be restricted to\n"
" the point in time specified by the 'Revision' field; any\n"
" other files matching the ChangeView path may sync to\n"
" #head, but cannot be submitted.\n"
"\n"
" Stream: The stream to which this client's view will be dedicated.\n"
" (Files in stream paths can be submitted only by dedicated\n"
" stream clients.) When this optional field is set, the\n"
" View field will be automatically replaced by a stream\n"
" view as the client spec is saved.\n"
"\n"
" StreamAtChange:\n"
" Stream meta-data (for view creation) is versioned.\n"
" When StreamAtChange is set, the stream hierarchy is\n"
" constructed back-in-time to reproduce the view that was\n"
" available to clients in the past. With this field set\n"
" changes cannot be be submitted from the client.\n"
" StreamAtChange is optional; Stream must be set as well.\n"
"\n"
" ServerID: If set, restricts usage to the named server.\n"
" If unset, usage is allowed on the master server and on\n"
" any replicas of the master other than Edge Servers.\n"
"\n"
" Type: By default all clients are 'writeable', certain clients\n"
" are short lived and perform long sync and build cycles.\n"
" Over time these build clients can fragment the 'db.have'\n"
" table which is used to track what files a client has\n"
" synced. Setting a type of 'readonly' gives the client\n"
" its own personal 'db.have' database table. A 'readonly'\n"
" client cannot 'edit' or 'submit' files, however for build\n"
" automation this is not usually a requirement and the\n"
" performance tradeoff is worth considering if your build\n"
" automation is causing issues with the 'db.have' table.\n"
" This option requires that an administrator has first\n"
" configured the 'client.readonly.dir' setting.\n"
"\n"
" Note: changing the client root does not actually move the client\n"
" files; you must relocate them manually. Similarly, changing\n"
" the 'LineEnd' option does not actually update the client files;\n"
" you can refresh them with 'p4 sync -f'.\n"
"\n"
" The -d flag deletes the specified spec, as long as the client\n"
" workspace has no opened files or pending changes. (See 'p4 help\n"
" opened'.) The -f flag forces the delete. The -Fs option used with -f\n"
" forces client deletion even when the user has shelved changes. In\n"
" this case, the shelved changes are left intact.\n"
"\n"
" The -o flag writes the named client spec to the standard output.\n"
" The user's editor is not invoked.\n"
"\n"
" The -i flag reads a client spec from the standard input. The\n"
" user's editor is not invoked.\n"
"\n"
" The -t template flag, where 'template' is the name of another client\n"
" spec, causes the View and Options fields to be replaced by those of\n"
" the template.\n"
"\n"
" The -f flag can force the updating of locked clients; normally\n"
" locked clients can only be modified by their owner. -f also allows\n"
" the last modified date to be set. The -f flag requires 'admin'\n"
" access granted by 'p4 protect'.\n"
"\n"
" The -s flag is used to switch an existing client spec's view without\n"
" invoking the editor. It can be used with -S to switch to a stream\n"
" view, or with -t to switch to a view defined in another client spec.\n"
" Switching views is not allowed in a client that has opened files.\n"
" The -f flag can be used with -s to force switching with opened files.\n"
" View switching has no effect on files in a client workspace until\n"
" 'p4 sync' is run.\n"
"\n"
" Without -s, the '-S stream' flag can be used to create a new client\n"
" spec dedicated to a stream. If the client spec already exists, and\n"
" -S is used without -s, an error occurs when the client is bound to\n"
" a different, or no stream. Using -S sets the new client's\n"
" Stream field. The special syntax '-S //a/stream@changelist' can\n"
" be used to set both Stream and StreamAtChange at the same time.\n"
"\n"
" The '-S stream' flag can be used with '-o -c change' to inspect an\n"
" old stream client view. It yields the client spec that would have\n"
" been created for the stream at the moment the change was recorded.\n"
"\n"
" A server of type 'build-server' (see 'p4 help server') is a replica\n"
" which supports build farm integration, and the 'p4 client' command\n"
" may be used to create or edit client workspaces on a build-server.\n"
" Such workspaces may issue the 'p4 sync' command, in addition to any\n"
" read-only command supported by the replica. For more information, run\n"
" 'p4 help buildserver'.\n"
"\n"
" When creating or editing a client workspace for a build-server,\n"
" the client specified by the optional 'name' argument, as well as the\n"
" client specified by the $P4CLIENT environment variable or via the\n"
" global '-c client' argument must not exist, or must be restricted\n"
" to this server; this command may not be used to create or edit a\n"
" workspace that is not restricted to this build-server.\n"
"\n"
" In order to delete a workspace which is bound to a different server,\n"
" specify 'client -d -f --serverid=X', providing the serverid of the\n"
" owning server. This variant of the client command must be issued\n"
" directly to the Commit Server.\n"
"\n"
};
ErrorId MsgHelp::HelpClients = { ErrorOf( ES_HELP, 32, E_INFO, EV_NONE, 0 ),
"\n"
" clients -- Display list of clients\n"
" workspaces -- synonym for 'clients'\n"
"\n"
" p4 clients [-t] [-u user] [[-e|-E] nameFilter -m max] [-S stream]\n"
" [-a | -s serverID]\n"
" p4 clients -U\n"
"\n"
" Lists all client workspaces currently defined in the server.\n"
"\n"
" The -t flag displays the time as well as the date.\n"
"\n"
" The -u user flag lists client workspaces that are owned by the\n"
" specified user.\n"
"\n"
" The -e nameFilter flag lists workspaces with a name that matches\n"
" the nameFilter pattern, for example: -e 'svr-dev-rel*'. The -e flag\n"
" uses the server's normal case-sensitivity rules. The -E flag makes\n"
" the matching case-insensitive, even on a case-sensitive server.\n"
"\n"
" The -m max flag limits output to the specified number of workspaces.\n"
"\n"
" The -S stream flag limits output to the client workspaces dedicated \n"
" to the stream.\n"
"\n"
" The -U flag lists unloaded clients (see 'p4 help unload').\n"
"\n"
" The -a flag specifies that all clients should be displayed, not just\n"
" those that are bound to this server.\n"
"\n"
" The -s serverID flag specifies that only those clients bound to the\n"
" specified serverID should be displayed. On an Edge Server, the -s\n"
" flag defaults to the Edge Server's serverID.\n"
"\n"
};
ErrorId MsgHelp::HelpCluster = { ErrorOf( ES_HELP, 164, E_INFO, EV_NONE, 0 ),
"\n"
" cluster -- Administer a server with failover (Perforce Cluster servers\n"
" only)\n"
"\n"
" p4 cluster new-master previous-master-server-id\n"
" p4 cluster master-changed new-master-address\n"
" p4 cluster members-set server-type list-of-cluster-members\n"
" p4 cluster end-journal\n"
"\n"
" The preceding 'p4 cluster' commands are issued automatically by the \n"
" Perforce cluster management infrastructure when a cluster server fails.\n"
"\n"
"\n"
" The following 'p4 cluster' commands are invoked by the cluster manager\n"
" during the implementation of its command to replace a workspace server.\n"
"\n"
" p4 cluster to-workspace\n"
" p4 cluster restore-clients old-server-id\n"
"\n"
" The following 'p4 cluster' command can be issued to reset the cluster\n"
" master generation number stored in Zookeeper.\n"
"\n"
" p4 cluster set-gen-number new-master-gen-number\n"
"\n"
" All 'p4 cluster' commands require that the user be an operator\n"
" or have 'super' access.\n"
"\n"
};
ErrorId MsgHelp::HelpStream = { ErrorOf( ES_HELP, 110, E_INFO, EV_NONE, 0 ),
"\n"
" stream -- Create, delete, or modify a stream specification\n"
"\n"
" p4 stream [-f] [-d] [-P parent] [-t type] [name]\n"
" p4 stream [-o [-v]] [-P parent] [-t type] [name[@change]]\n"
" p4 stream [-f] [-d] name\n"
" p4 stream -i [-f] \n"
" p4 stream edit\n"
" p4 stream resolve [-a<flag>] [-n] [-o]\n"
" p4 stream revert\n"
"\n"
" A stream specification ('spec') names a path in a stream depot to be\n"
" treated as a stream. (See 'p4 help streamintro'.) The spec also\n"
" defines the stream's lineage, its view, and its expected flow of\n"
" change.\n"
"\n"
" The 'p4 stream' command puts the stream spec into a temporary file and\n"
" invokes the editor configured by the environment variable $P4EDITOR.\n"
" When creating a stream, the type of the stream must be specified with\n"
" the '-t' flag. Saving the file creates or modifies the stream spec.\n"
"\n"
" By default updates to the stream spec are automatically visible to\n"
" all clients; see 'p4 help streamcmds' for information on 'opening' a\n"
" stream spec to stage updates on one client before submitting them.\n"
"\n"
" Creating a stream spec does not branch a new stream. To branch a\n"
" stream, use 'p4 copy -r -S stream', where 'stream' is the name of a\n"
" stream spec.\n"
"\n"
" The stream spec contains the following fields:\n"
"\n"
" Stream: The stream's path in a stream depot, of the form\n"
" //depotname/streamname. This is both the name of the stream\n"
" spec and the permanent, unique identifier of the stream.\n"
" This stream path may extend beyond the traditional form by\n"
" updating the 'StreamDepth' field in the stream depot when\n"
" creating a new stream depot. Here, depth relates to the\n"
" number of single slashes in stream names following the\n"
" depot name (so traditional form above reflects StreamDepth\n"
" of 1. All streams within a stream depot must adhere to\n"
" this same format.\n"
"\n"
" Update: The date this stream spec was last changed.\n"
"\n"
" Access: The date of the last command used with this spec.\n"
"\n"
" Owner: The stream's owner. A stream can be owned by a user, or\n"
" owned by a group. Can be changed.\n"
"\n"
" Name: An alternate name of the stream, for use in display outputs.\n"
" Defaults to the final path in the 'streamname' portion in\n"
" the stream. Can be changed.\n"
"\n"
" Parent: The parent of this stream. Can be 'none' if the stream type\n"
" is 'mainline', otherwise must be set to an existing stream\n"
" identifier, of the form //depotname/streamname.\n"
" Can be changed.\n"
"\n"
" Type: 'mainline', 'virtual', 'development', 'release' or 'task'.\n"
" Defines the role of a stream: A 'mainline' may not have a\n"
" parent. A 'virtual' stream is not a stream but an alternate\n"
" view of its parent stream. The 'development' and 'release'\n"
" streams have controlled flow. Can be changed. A 'task'\n"
" stream is a lightweight short-lived stream that only\n"
" promotes edited files to the repository; branched and\n"
" integrated files are stored in shadow tables that are\n"
" removed when the task stream is deleted or unloaded.\n"
"\n"
" Flow control is provided by 'p4 copy -S' and 'p4 merge -S'.\n"
" These commands restrict the flow of change as follows:\n"
"\n"
" Stream Type Direction of flow Allowed with\n"
" ----------- ----------------- ------------\n"
" development to parent stream 'p4 copy'\n"
" task to parent stream 'p4 copy'\n"
" release to parent stream 'p4 merge'\n"
" development from parent stream 'p4 merge'\n"
" release from parent stream 'p4 copy'\n"
"\n"
" Description: An optional description of the stream.\n"
"\n"
" Options: Flags to configure stream behavior. Defaults are marked *:\n"
"\n"
" unlocked * Indicates whether the stream spec is locked\n"
" locked against modifications. If locked, the spec\n"
" may not be deleted, and only its owner or\n"
" group users can modify it.\n"
"\n"
" allsubmit * Indicates whether all users or only the\n"
" ownersubmit owner (or group users) of the stream may\n"
" submit changes to the stream path.\n"
"\n"
" toparent * Indicates if controlled flow from the\n"
" notoparent stream to its parent is expected to occur.\n"
"\n"
" fromparent * Indicates if controlled flow to the stream\n"
" nofromparent from its parent is expected to occur.\n"
"\n"
" mergedown * Indicates if merge flow is restricted or\n"
" mergeany merge is permitted from any other stream.\n"
"\n"
" The [no]fromparent and [no]toparent options determine if \n"
" 'p4 copy -S' and 'p4 merge -S' allow change to flow between\n"
" a stream and its parent. A 'virtual' stream must have its\n"
" flow options set as 'notoparent' and 'nofromparent'. Flow\n"
" options are ignored for 'mainline' streams.\n"
"\n"
" Paths: One or more lines that define file paths in the stream view.\n"
" Each line is of the form:\n"
"\n"
" <path_type> <view_path> [<depot_path>]\n"
"\n"
" where <path_type> is a single keyword, <view_path> is a file\n"
" path with no leading slashes, and the optional <depot_path>\n"
" is a file path beginning with '//'. Both <view_path> and\n"
" <depot_path> may contain trailing wildcards, but no leading\n"
" or embedded wildcards. Lines in the Paths field may appear\n"
" in any order. A duplicated <view_path> overrides its\n"
" preceding entry.\n"
"\n"
" For example:\n"
"\n"
" share src/...\n"
" import lib/abc/... //over/there/abc/...\n"
" isolate bin/*\n"
"\n"
" Default is:\n"
"\n"
" share ...\n"
"\n"
" The <path_type> keyword must be one of:\n"
"\n"
" share: <view_path> will be included in client views and\n"
" in branch views. Files in this path are accessible\n"
" to workspaces, can be submitted to the stream, and\n"
" can be integrated with the parent stream.\n"
"\n"
" isolate: <view_path> will be included in client views but\n"
" not in branch views. Files in this path are\n"
" accessible to workspaces, can be submitted to the\n"
" stream, but are not integratable with the parent\n"
" stream. \n"
"\n"
" import: <view_path> will be included in client views but\n"
" not in branch views. Files in this path are mapped\n"
" as in the parent stream's view (the default) or to\n"
" <depot_path> (optional); they are accessible to\n"
" workspaces, but can not be submitted or integrated\n"
" to the stream. If <depot_path> is used it may\n"
" include a changelist or automatic label specifier;\n"
" clients of that stream will be limited to seeing\n"
" revisions at that point in time or lower within that\n"
" depot path (See the explanation of 'ChangeView' in\n"
" 'p4 help client' for more details)\n"
"\n"
" import+: <view_path> same as 'import' except that files can\n"
" be submitted to the import path.\n"
"\n"
" exclude: <view_path> will be excluded from client views\n"
" and branch views. Files in this path are not\n"
" accessible to workspaces, and can't be submitted\n"
" or integrated to the stream.\n"
"\n"
" Paths are inherited by child stream views. A child stream's\n"
" paths can downgrade the inherited view, but not upgrade it.\n"
" (For instance, a child stream can downgrade a shared path to\n"
" an isolated path, but it can't upgrade an isolated path to a\n"
" shared path.) Note that <depot_path> is relevant only when\n"
" <path_type> is 'import'.\n"
"\n"
" Remapped: Optional; one or more lines that define how stream view paths\n"
" are to be remapped in client views. Each line is of the\n"
"\n form:"
"\n"
" <view_path_1> <view_path_2>\n"
"\n"
" where <view_path_1> and <view_path_2> are Perforce view paths\n"
" with no leading slashes and no leading or embedded wildcards.\n"
" For example:\n"
"\n"
" ... x/...\n"
" y/* y/z/*\n"
"\n"
" Line ordering in the Remapped field is significant; if more\n"
" than one line remaps the same files, the later line has\n"
" precedence. Remapping is inherited by child stream client\n"
" views.\n"
"\n"
" Ignored: Optional; a list of file or directory names to be ignored in\n"
" client views. For example:\n"
"\n"
" /tmp # ignores files named 'tmp'\n"
" /tmp/... # ignores dirs named 'tmp'\n"
" .tmp # ignores file names ending in '.tmp'\n"
"\n"
" Lines in the Ignored field may appear in any order. Ignored\n"
" names are inherited by child stream client views.\n"
"\n"
" The -d flag causes the stream spec to be deleted. A stream spec may\n"
" not be deleted if it is referenced by child streams or stream clients.\n"
" Deleting a stream spec does not remove stream files, but it does mean\n"
" changes can no longer be submitted to the stream's path.\n"
"\n"
" The -o flag causes the stream spec to be written to the standard\n"
" output. The user's editor is not invoked. -v may be used with -o to\n"
" expose the automatically generated client view for this stream.\n"
" ('p4 help branch' describes how to expose the branch view.)\n"
" If an @changelist specifier is included with the stream name, the\n"
" (submitted) stream as of that change is displayed rather than the\n"
" latest (or open) version.\n"
"\n"
" The -P flag can be used to insert a value into the Parent field of a\n"
" new stream spec. It has no effect on an existing spec.\n"
"\n"
" The -t flag is used to insert a value into the type field of a\n"
" new stream spec and to adjust the default fromparent option\n"
" for a new 'release' -type stream. The flag has no effect on an\n"
" existing spec.\n"
"\n"
" The -i flag causes a stream spec to be read from the standard input.\n"
" The user's editor is not invoked.\n"
"\n"
" The -f flag allows a user other than the owner to modify or delete a\n"
" locked stream. It requires 'admin' access granted by 'p4 protect'.\n"
"\n"
" See 'p4 help streamcmds' for information on the 'p4 stream edit',\n"
" 'p4 stream resolve', and 'p4 stream revert' commands.\n"
};
ErrorId MsgHelp::HelpStreamCmds = { ErrorOf( ES_HELP, 191, E_INFO, EV_NONE, 0 ),
"\n"
" Operating on opened stream specs\n"
"\n"
" Stream specifications may be modified directly via the 'p4 stream',\n"
" command, automatically and immediately updating all client views\n"
" derived from that stream. Alternatively, edits to the stream spec\n"
" may be isolated to the editing client prior to being made available\n"
" to other clients as part of an atomic changelist submission, in the\n"
" same way that edits to files are made locally on a single client and\n"
" then submitted to make them available to other clients.\n"
"\n"
" p4 stream edit\n"
" p4 stream resolve [-a<flag>] [-n] [-o]\n"
" p4 stream revert\n"
"\n"
" 'p4 stream edit' puts the client's current stream spec into the\n"
" 'opened' state, isolating any edits made to fields that affect\n"
" view generation. While the spec is open, those fields are marked\n"
" with the comment '#open' to indicate that they are open and isolated\n"
" to your client. Changes made to these fields will affect your client\n"
" view normally, but other clients are not affected.\n"
"\n"
" 'p4 stream resolve' resolves changes that have been submitted to the\n"
" stream spec since you opened it. You may not submit changes to the\n"
" stream spec until newer changes have been resolved.\n"
" -as 'Safe' resolve; skip fields that need merging.\n"
" -am Resolve by merging; skip fields with conflicts.\n"
" -af Force combination of text fields with conflicts.\n"
" -at Force acceptance of theirs; overwrites yours.\n"
" -ay Force acceptance of yours; ignores theirs.\n"
" -n Preview which fields require resolve.\n"
" -o Output the base used for the merge.\n"
"\n"
" 'p4 stream revert' reverts any pending changes made to the open spec,\n"
" returning your client to the latest submitted version of the stream.\n"
"\n"
" The open stream spec is included by default with any files that\n"
" are shelved, unshelved, or submitted. Unlike files, the stream spec\n"
" is not bound to a particular pending changelist. The stream may be\n"
" omitted from any of these operations by using the '-Af' flag to\n"
" specify that only files should be acted upon.\n"
};
ErrorId MsgHelp::HelpStreamintro = { ErrorOf( ES_HELP, 132, E_INFO, EV_NONE, 0 ),
"\n"
" Introduction to streams\n"
"\n"
" A Perforce 'stream' is (generally) a branch of files. Each stream\n"
" has a parent stream and any number of child streams. The backbone\n"
" of a stream system is the mainline, a stream with no parent.\n"
"\n"
" A stream typically contains files that are branched from its parent\n"
" stream. Work on files occurs in the context of a stream. As files are\n"
" modified, changes can be integrated (i.e., merged or copied) between\n"
" the stream and its parent.\n"
"\n"
" A child stream is either a 'development', 'release', 'task' or a\n"
" 'virtual' stream. On a scale of stability, a development stream\n"
" is considered lower than its parent, while a release stream is\n"
" considered higher than its parent. Change is expected to flow down\n"
" by merging, and up by copying. This \"merge down, copy up\" practice\n"
" assures that merging is done only when necessary, and always in the\n"
" more forgiving of the two streams involved.\n"
"\n"
" A stream is identified by its unique depot location. A 'spec' defines\n"
" the stream's location, its type, its parent stream, the files in its\n"
" view, and other configurable behaviors. A stream can be reparented\n"
" by changing its spec.\n"
"\n"
" A stream's 'view' refers to both the client view and the branch view\n"
" that are generated from the spec. Generated client views are inserted\n"
" automatically when a user creates a stream client. Generated branch\n"
" views are used automatically by commands that compare or integrate \n"
" files.\n"
" \n"
" The stream view enables you to specify which files can be submitted\n"
" to the stream and merged or copied from its parent stream. A parent\n"
" stream controls the scope of a child stream's view. The stream view\n"
" is inherited from the parent stream (except for mainline streams,\n"
" which have no parent). You can refine the view of a child stream to\n"
" make it more restrictive than its parent, but you cannot change the\n"
" view to make it less restrictive than the view of the parent.\n"
" Virtual streams can be used to create alternative views of real\n"
" streams.\n"
"\n"
" Virtual streams differ from other stream types in that a virtual\n"
" stream is not a branch of files, but instead a filtered view of \n"
" its parent stream. A virtual stream can have child streams, and its\n"
" child streams inherit its views.\n"
"\n"
" Task streams are lightweight short-lived branches that are great for\n"
" bug fixing or new features that only modify a small subset of the\n"
" branch data. Since branched (copied) files are tracked in a set of\n"
" shadow tables which are later removed, repository metadata is kept\n"
" to a minimum when using this type of stream. Note: only a client\n"
" of the task stream will see the branched data, only modified data\n"
" that is promoted becomes visible to users with access to the stream\n"
" namespace.\n"
"\n"
" Streams are rooted in stream depots. A mainline and all of the streams\n"
" related to it are rooted in the same stream depot. A Perforce Server\n"
" can host multiple stream depots. Although a stream depot can have \n"
" multiple mainlines, one mainline per stream depot is recommended.\n"
"\n"
" Files can be submitted to streams only by stream clients. Each stream\n"
" client is dedicated to a single stream. A user may have several \n"
" stream clients. Stream clients can be switched from one stream to \n"
" another. A client of a virtual stream is no different than a client\n"
" of its underlying, real stream, except that it has a modified view\n"
" of the underlying stream.\n"
"\n"
" To create a new mainline, first create a stream depot with 'p4 depot'.\n"
" Then use 'p4 stream' to create a mainline stream rooted in that depot.\n"
" To populate a new mainline, use 'p4 client' to create a client\n"
" workspace for it. Then, in the client workspace, use 'p4 add' and 'p4\n"
" submit' to upload files into the stream.\n"
"\n"
" To branch a stream into another, first use 'p4 stream' to create the\n"
" new stream spec. Then use 'p4 copy' and 'p4 submit' to branch files\n"
" into the new stream. To merge files from one stream into another, use\n"
" 'p4 merge', 'p4 resolve', and 'p4 submit'. To promote files from one \n"
" stream into another, use 'p4 copy' and 'p4 submit'.\n"
"\n"
" Several existing commands have been enhanced, and some new commands\n"
" have been added, in support of streams:\n"
"\n"
" branch - Can expose a stream's branch view \n"
" client - Can create or switch a stream client \n"
" clients - Can list clients dedicated to a stream \n"
" copy - Can use a stream view and enforce stream flow\n"
" depot - Can create a stream depot \n"
" diff2 - Can use a stream view\n"
" dirs - Can list dirs in a stream view\n"
" integrate - Can use a stream view\n"
" interchanges - Can use a stream view\n"
" istat - Checks/caches a stream's pending integration state\n"
" merge - Can use a stream view and enforce stream flow\n"
" stream - Creates/edits a stream spec, can expose client view\n"
" streams - Lists stream specs\n"
"\n"
" See 'p4 help <command>' for additional help for these commands.\n"
"\n"
};
ErrorId MsgHelp::HelpStreams = { ErrorOf( ES_HELP, 111, E_INFO, EV_NONE, 0 ),
"\n"
" streams -- Display list of streams\n"
"\n"
" p4 streams [-U -F filter -T fields -m max] [streamPath ...]\n"
"\n"
" Reports the list of all streams currently known to the system. If\n"
" a 'streamPath' argument is specified, the list of streams is limited\n"
" to those matching the supplied path. Unloaded task streams are not\n"
" listed by default.\n"
"\n"
" For each stream, a single line of output lists the stream depot path,\n"
" the type, the parent stream depot path, and the stream name.\n"
"\n"
" The -F filter flag limits the output to files satisfying the expression\n"
" given as 'filter'. This filter expression is similar to the one used\n"
" by 'jobs -e jobview', except that fields must match those above and\n"
" are case sensitive.\n"
"\n"
" e.g. -F \"Parent=//Ace/MAIN & Type=development\"\n"
"\n"
" Note: the filtering takes place post-compute phase; there are no\n"
" indexes to optimize performance.\n"
"\n"
" The -T fields flag (used with tagged output) limits the fields output\n"
" to those specified by a list given as 'fields'. These field names can\n"
" be separated by a space or a comma.\n"
"\n"
" e.g. -T \"Stream, Owner\"\n"
"\n"
" The -m max flag limits output to the first 'max' number of streams.\n"
"\n"
" The -U flag lists unloaded task streams (see 'p4 help unload').\n"
};
ErrorId MsgHelp::HelpCopy = { ErrorOf( ES_HELP, 127, E_INFO, EV_NONE, 0 ),
"\n"
" copy -- Copy one set of files to another\n"
"\n"
" p4 copy [options] fromFile[rev] toFile\n"
" p4 copy [options] -b branch [-r] [toFile[rev] ...]\n"
" p4 copy [options] -b branch -s fromFile[rev] [toFile ...]\n"
" p4 copy [options] -S stream [-P parent] [-F] [-r] [toFile[rev] ...]\n"
"\n"
" options: -c changelist# -f -n -v -m max -q\n"
"\n"
" 'p4 copy' copies one set of files (the 'source') into another (the\n"
" 'target').\n"
"\n"
" Using the client workspace as a staging area, 'p4 copy' makes the\n"
" target identical to the source by branching, replacing, or deleting\n"
" files. 'p4 submit' submits copied files to the depot. 'p4 revert'\n"
" can be used to revert copied files instead of submitting them. The\n"
" history of copied files can be shown with 'p4 filelog' or 'p4\n"
" integrated'.\n"
"\n"
" Target files that are already identical to the source, or that are\n"
" outside of the client view, are not affected by 'p4 copy'. Opened,\n"
" non-identical target files cause 'p4 copy' to exit with a warning. \n"
" When 'p4 copy' creates or modifies files in the workspace, it leaves\n"
" them read-only; 'p4 edit' can make them writable. Files opened by\n"
" 'p4 copy' do not need to be resolved.\n"
"\n"
" Source and target files (fromFile and toFile) can be specified on\n"
" the 'p4 copy' command line or through a branch view. On the command\n"
" line, fromFile is the source file set and toFile is the target file\n"
" set. With a branch view, one or more toFile arguments can be given\n"
" to limit the scope of the target file set.\n"
"\n"
" A revision specifier can be used to select the revision to copy; by\n"
" default, the head revision is copied. The revision specifier can be\n"
" used on fromFile, or on toFile, but not on both. When used on toFile,\n"
" it refers to source revisions, not to target revisions. A range may\n"
" not be used as a revision specifier. For revision syntax, see 'p4\n"
" help revisions'.\n"
"\n"
" The -S flag makes 'p4 copy' copy from a stream to its parent.\n"
" Use -r with -S to reverse the copy direction. Note that to submit\n"
" copied stream files, the current client must be switched to the\n"
" target stream, or to a virtual child stream of the target stream.\n"
" The -S flag causes 'p4 copy' to use a generated branch view that\n"
" maps the stream to its parent. -P can be used to generate the\n"
" branch view using a parent stream other than the stream's actual\n"
" parent. The -S flag also makes 'p4 copy' respect a stream's flow.\n"
"\n"
" The -F flag can be used with -S to force copying against a stream's\n"
" expected flow. It can also force -S to generate a branch view based\n"
" on a virtual stream; the mapping itself refers to the underlying\n"
" real stream.\n"
"\n"
" The -b flag makes 'p4 copy' use a user-defined branch view. (See\n"
" 'p4 help branch'.) The source is the left side of the branch view\n"
" and the target is the right side. With -r, the direction is reversed.\n"
"\n"
" The -s flag can be used with -b to cause fromFile to be treated as\n"
" the source, and both sides of the user-defined branch view to be\n"
" treated as the target, per the branch view mapping. Optional toFile\n"
" arguments may be given to further restrict the scope of the target\n"
" file set. -r is ignored when -s is used.\n"
"\n"
" The -c changelist# flag opens files in the designated (numbered)\n"
" pending changelist instead of the default changelist.\n"
"\n"
" The -f flag forces the creation of extra revisions in order to\n"
" explicitly record that files have been copied. Deleted source files\n"
" will be copied if they do not exist in the target, and files that are\n"
" already identical will be copied if they are not connected by existing\n"
" integration records.\n"
"\n"
" The -n flag displays a preview of the copy, without actually doing\n"
" anything.\n"
"\n"
" The -m flag limits the actions to the first 'max' number of files.\n"
"\n"
" The -q flag suppresses normal output messages. Messages regarding\n"
" errors or exceptional conditions are displayed.\n"
"\n"
" The -v flag causes a 'virtual' copy that does not modify client\n"
" workspace files. After submitting a virtual integration, 'p4 sync'\n"
" can be used to update the workspace.\n"
"\n"
" 'p4 copy' is not supported for files with propagating attributes\n"
" from an edge server in a distributed environment.\n"
};
ErrorId MsgHelp::HelpCounter = { ErrorOf( ES_HELP, 33, E_INFO, EV_NONE, 0 ),
"\n"
" counter -- Display, set, or delete a counter\n"
"\n"
" p4 counter name\n"
" p4 counter [-f -v] name value\n"
" p4 counter [-f] -d name\n"
" p4 counter [-f -v] -i name\n"
" p4 counter [-f] -m [ pair list ]\n"
" p4 counter --from=oldValue --to=newValue name\n"
"\n"
" The first form displays the value of the specified counter.\n"
"\n"
" The second form sets the counter to the specified value.\n"
"\n"
" The third form deletes the counter. This option usually has the\n"
" same effect as setting the counter to 0.\n"
"\n"
" The -f flag sets or deletes counters used by Perforce, which are\n"
" listed by 'p4 help counters'. Important: Never set the 'change'\n"
" counter to a value that is lower than its current value.\n"
"\n"
" The -i flag increments a counter by 1 and returns the new value.\n"
" This option is used instead of a value argument and can only be\n"
" used with numeric counters.\n"
"\n"
" The -v flag displays the previous value of the specified counter\n"
" after the counter has been set or incremented.\n"
"\n"
" The fifth form allows multiple operations in one command.\n"
" With this, the list is pairs of arguments. Each pair is either\n"
" counter value or '-' counter. To set a counter use a name and value.\n"
" To delete a counter use a '-' followed by the name.\n"
"\n"
" The sixth form sets a counter to the newValue only if the current\n"
" value of the counter is oldValue. Note that a counter that has never\n"
" been set (or has been deleted) cannot be set using this form.\n"
"\n"
" Counters can be assigned textual values as well as numeric ones, \n"
" despite the name 'counter'.\n"
"\n"
" 'p4 counter' requires 'review' access granted by 'p4 protect'.\n"
" The -f flag requires that the user be an operator or have 'super'\n"
" access.\n"
};
ErrorId MsgHelp::HelpCounters = { ErrorOf( ES_HELP, 34, E_INFO, EV_NONE, 0 ),
"\n"
" counters -- Display list of known counters\n"
"\n"
" p4 counters [-e nameFilter -m max]\n"
"\n"
" Lists the counters in use by the server. The server\n"
" uses the following counters directly:\n"
"\n"
" change Current change number\n"
" job Current job number\n"
" journal Current journal number\n"
" lastCheckpointAction Data about the last complete checkpoint\n"
" logger Event log index used by 'p4 logger'\n"
" traits Internal trait lot number used by 'p4 attribute'\n"
" upgrade Server database upgrade level\n"
"\n"
" The -e nameFilter flag lists counters with a name that matches\n"
" the nameFilter pattern, for example: -e 'mycounter-*'.\n"
"\n"
" The -m max flag limits the output to the first 'max' counters.\n"
"\n"
" The names 'minClient', 'minClientMessage', 'monitor',\n"
" 'security', 'masterGenNumber', and 'unicode' are\n"
" reserved names: do not use them as ordinary counters.\n"
"\n"
" For general-purpose server configuration, see 'p4 help configure'.\n"
};
ErrorId MsgHelp::HelpCstat = { ErrorOf( ES_HELP, 123, E_INFO, EV_NONE, 0 ),
"\n"
" cstat -- Dump change/sync status for current client\n"
"\n"
" p4 cstat [files...]\n"
"\n"
" Lists changes that are needed, had or partially synced in the current\n"
" client. The output is returned in tagged format, similar to the fstat\n"
" command.\n"
"\n"
" The fields that cstat displays are:\n"
"\n"
" change changelist number\n"
" status 'have', 'need' or 'partial'\n"
"\n"
};
ErrorId MsgHelp::HelpDepot = { ErrorOf( ES_HELP, 35, E_INFO, EV_NONE, 0 ),
"\n"
" depot -- Create or edit a depot specification\n"
"\n"
" p4 depot [-t type] name\n"
" p4 depot -d [-f] name\n"
" p4 depot -o name\n"
" p4 depot -i\n"
"\n"
" Create a new depot specification or edit an existing depot\n"
" specification. The specification form is put into a temporary file\n"
" and the editor (configured by the environment variable $P4EDITOR)\n"
" is invoked.\n"
"\n"
" The depot specification contains the following fields:\n"
"\n"
" Depot: The name of the depot. This name cannot be the same as\n"
" any branch, client, or label name.\n"
"\n"
" Owner: The user who created this depot.\n"
"\n"
" Date: The date that this specification was last modified.\n"
"\n"
" Description: A short description of the depot (optional).\n"
"\n"
" Type: One of the types: 'local', 'stream', 'remote', 'spec',\n"
" 'archive', 'unload', or 'tangent'.\n"
"\n"
" A 'local' depot (the default) is managed directly by\n"
" the server and its files reside in the server's root\n"
" directory.\n"
"\n"
" A 'stream' depot is a local depot dedicated to the\n"
" storage of files in a stream.\n"
"\n"
" A 'remote' depot refers to files in another Perforce\n"
" server.\n"
"\n"
" A 'spec' depot automatically archives all edited forms\n"
" (branch, change, client, depot, group, job, jobspec,\n"
" protect, triggers, typemap, and user) in special,\n"
" read-only files. The files are named:\n"
" //depotname/formtype/name[suffix]. Updates to jobs made\n"
" by the 'p4 change', 'p4 fix', and 'p4 submit' commands\n"
" are also saved, but other automatic updates such as\n"
" as access times or opened files (for changes) are not.\n"
" A server can contain only one 'spec' depot.\n"
"\n"
" A 'archive' depot defines a storage location to which\n"
" obsolete revisions may be relocated.\n"
"\n"
" An 'unload' depot defines a storage location to which\n"
" database records may be unloaded and from which they\n"
" may be reloaded.\n"
"\n"
" A 'tangent' depot defines a read-only location which\n"
" holds tangents created by the 'fetch -t' command. The\n"
" tangent depot named 'tangent' is automatically created\n"
" by 'fetch -t' if one does not already exist.\n"
"\n"
" Address: For remote depots, the $P4PORT (connection address)\n"
" of the remote server.\n"
"\n"
" Suffix: For spec depots, the optional suffix to be used\n"
" for generated paths. The default is '.p4s'.\n"
"\n"
" StreamDepth: For stream depots, the optional depth to be used\n"
" for stream paths in the depot, where depth equates\n"
" to the number of slashes following the depot name of a\n"
" stream. This field is referenced when streams are\n"
" being created. The default is '1', matching the\n"
" traditional stream name. This value may not be updated\n"
" once streams or archive data exist within the depot.\n"
"\n"
" Map: Path translation information, in the form of a file\n"
" pattern with a single ... in it. For local depots,\n"
" this path is relative to the server's root directory\n"
" or to server.depot.root if it has been configured\n"
" (Example: depot/...). For remote depots, this path\n"
" refers to the remote server's namespace\n"
" (Example: //depot/...).\n"
"\n"
" SpecMap: For spec depots, the optional description of which\n"
" specs should be saved, as one or more patterns.\n"
"\n"
" The -d flag deletes the specified depot. If any files reside in the\n"
" depot, they must be removed with 'p4 obliterate' before deleting the\n"
" depot. If any archive files remain in the depot directory, they may\n"
" be referenced by lazy copies in other depots; use 'p4 snap' to break\n"
" those linkages. Snap lazy copies prior to obliterating the old depot\n"
" files to allow the obliterate command to remove any unreferenced\n"
" archives from the depot directory. If the depot directory is not\n"
" empty, you must specify the -f flag to delete the depot.\n"
"\n"
" The -t flag is used to insert a value into the type field of a new\n"
" depot spec. This flag is ignored when used with existing depots.\n"
"\n"
" The -o flag writes the depot specification to standard output. The\n"
" user's editor is not invoked.\n"
"\n"
" The -i flag reads a depot specification from standard input. The\n"
" user's editor is not invoked.\n"
};
ErrorId MsgHelp::HelpDepots = { ErrorOf( ES_HELP, 36, E_INFO, EV_NONE, 0 ),
"\n"
" depots -- Lists defined depots\n"
"\n"
" p4 depots\n"
"\n"
" Lists all depots defined in the server.\n"
" Depots takes no arguments.\n"
};
ErrorId MsgHelp::HelpDiskspace = { ErrorOf( ES_HELP, 133, E_INFO, EV_NONE, 0 ),
"\n"
" diskspace -- Display disk space information on the server.\n"
"\n"
" p4 diskspace [ P4ROOT | P4JOURNAL | P4LOG | TEMP | journalPrefix | depot ]\n"
"\n"
" Shows summary information about the current availability of disk\n"
" space on the server.\n"
"\n"
" If no arguments are specified, disk space information for all\n"
" relevant file systems is displayed; otherwise the output is\n"
" restricted to the named filesystem(s).\n"
"\n"
" This command requires that the user be an operator or have 'super'\n"
" access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpSizes = { ErrorOf( ES_HELP, 94, E_INFO, EV_NONE, 0 ),
"\n"
" sizes -- Display information about the size of the files in the depot\n"
"\n"
" p4 sizes [-a -S] [-s | -z] [-b size] [-h|-H] [-m max] file[revRange] ...\n"
" p4 sizes -A [-a] [-s] [-b size] [-h|-H] [-m max] archivefile...\n"
" p4 sizes -U unloadfile ...\n"
"\n"
" For specified file specification, displays depot file name, revision,\n"
" file count and file size. If you use client syntax for the file\n"
" specification,the view mapping is used to list the corresponding\n"
" depot files.\n"
"\n"
" The -a flag lists all revisions within the specific range, rather\n"
" than just the highest revision in the range.\n"
"\n"
" The -b option specifies the blocksize in bytes. When this option\n"
" is specified, each accumulated filesize is rounded up to the nearest\n"
" blocksize.\n"
"\n"
" The -h or -H flag prints the sizes in human-readable form, using a\n"
" scaling factor of 1024 for -h or 1000 for -H.\n"
"\n"
" The -m flag limits sizes to the first 'max' number of files.\n"
"\n"
" The -s option calculates the sum of the file sizes for the specified\n"
" files.\n"
"\n"
" The -S option displays size information for shelved files only. With\n"
" this option, revision specifications are not permitted.\n"
"\n"
" The -z option omits lazy copies when calculating the file sizes for\n"
" the specified files.\n"
"\n"
" If there is no file size information for a file revision in the depot\n"
" metadata, the sizes command returns a size of \"<n/a>\".\n"
"\n"
" 'p4 verify -u' updates the metadata for all revisions that require it.\n"
"\n"
" The -A flag displays files in archive depots (see 'p4 help archive').\n"
"\n"
" The -U option displays size information for unload files in the\n"
" unload depot (see 'p4 help unload').\n"
};
ErrorId MsgHelp::HelpDelete = { ErrorOf( ES_HELP, 37, E_INFO, EV_NONE, 0 ),
"\n"
" delete -- Open an existing file for deletion from the depot\n"
"\n"
" p4 delete [-c changelist#] [-n -v -k] [--remote=rmt] file ...\n"
"\n"
" Opens a depot file for deletion.\n"
" If the file is synced in the client workspace, it is removed. If a\n"
" pending changelist number is specified using with the -c flag, the\n"
" file is opened for delete in that changelist. Otherwise, it is opened\n"
" in the default pending changelist.\n"
"\n"
" Files that are deleted generally do not appear on the have list.\n"
"\n"
" The -n flag displays a preview of the operation without changing any\n"
" files or metadata.\n"
"\n"
" The -k flag performs the delete on the server without modifying\n"
" client files. Use with caution, as an incorrect delete can cause\n"
" discrepancies between the state of the client and the corresponding\n"
" server metadata.\n"
"\n"
" The -v flag enables you to delete files that are not synced to the\n"
" client workspace. The files should be specified using depot syntax;\n"
" since the files are not synced, client syntax or local syntax are\n"
" inappropriate and could introduce ambiguities in the file list.\n"
" Note, though, that if the files ARE synced, 'delete -v' will remove\n"
" the files from the client in addition to opening them for delete.\n"
" The preferred way to delete a set of files without transferring\n"
" them to your machine is: 'sync -k file...', then 'delete -k file...'\n"
"\n"
" The --remote flag is useful for DVCS configurations in which files\n"
" of type +l are in use. 'p4 delete --remote=origin filename' opens the\n"
" named file for deletion in your DVCS server, and additionally, if the\n"
" file is of type +l, takes a global exclusive lock on the origin\n"
" server. That global exclusive lock will be retained until you push\n"
" the deleted file to the origin server, or until you use the\n"
" 'p4 revert --remote=origin filename' command to revert the file.\n"
"\n"
" 'p4 delete' is not supported for files with propagating attributes\n"
" from an edge server in a distributed environment.\n"
};
ErrorId MsgHelp::HelpDescribe = { ErrorOf( ES_HELP, 38, E_INFO, EV_NONE, 0 ),
"\n"
" describe -- Display a changelist description\n"
"\n"
" p4 describe [-d<flags> -m -s -S -f -O -I] changelist# ...\n"
"\n"
" Display a changelist description, including the changelist number,\n"
" user, client, date of submission, textual description, list of\n"
" affected files and diffs of files updated. Pending changelists\n"
" are indicated as 'pending' and file diffs are not displayed.\n"
"\n"
" For restricted changelists, 'no permission' is displayed if the user\n"
" is not permitted to view the change (see 'p4 help change'). If a\n"
" submitted change is restricted, the description is hidden unless\n"
" the user is the owner of the change or has list permission for\n"
" at least one file in the change. If a shelved change is restricted,\n"
" the description is hidden unless the user is the owner of the change,\n"
" or has list permission to at least one file in the change and has\n"
" used the -S flag to request the shelved change. To view restricted\n"
" pending (not shelved) changes, the user must be the owner of the\n"
" change.\n"
"\n"
" The -d<flags> passes one or more flags to the built-in diff routine\n"
" to modify the output: -dn (RCS), -dc[n] (context), -ds (summary),\n"
" -du[n] (unified), -db (ignore whitespace changes), -dw (ignore\n"
" whitespace), -dl (ignore line endings). The optional argument to\n"
" to -dc/-du specifies number of context lines.\n"
"\n"
" The -s flag omits the diffs of files that were updated.\n"
"\n"
" The -S flag lists files that are shelved for the specified changelist\n"
" and displays diffs of the files against their previous revision.\n"
" If the change is restricted, the description is displayed according\n"
" to the rules for shelved restricted changes described above.\n"
"\n"
" The -f flag forces display of the descriptions in a restricted\n"
" change. The -f flag requires 'admin' access, which is granted\n"
" using 'p4 protect'.\n"
"\n"
" The -O flag specifies that the changelist number is the original\n"
" number of a changelist which was renamed on submit.\n"
"\n"
" The -I flag specifies that the changelist number is the Identity\n"
" field of a changelist.\n"
"\n"
" The -m flag limits files to the first 'max' number of files.\n"
};
ErrorId MsgHelp::HelpDiff = { ErrorOf( ES_HELP, 39, E_INFO, EV_NONE, 0 ),
"\n"
" diff -- Display diff of client file with depot file\n"
"\n"
" p4 diff [-d<flags> -f -m max -Od -s<flag> -t] [file[rev] ...]\n"
"\n"
" On the client machine, diff a client file against the corresponding\n"
" revision in the depot. The file is compared only if the file is\n"
" opened for edit or a revision is provided. See 'p4 help revisions'\n"
" for details about specifying revisions.\n"
"\n"
" If the file specification is omitted, all open files are diffed.\n"
" This option can be used to view pending changelists.\n"
"\n"
" The -d<flags> modify the output as follows:\n"
" -dn (RCS),\n"
" -dc[n] (context),\n"
" -ds (summary),\n"
" -du[n] (unified),\n"
" -db (ignore whitespace changes),\n"
" -dw (ignore whitespace),\n"
" -dl (ignore line endings).\n"
" The optional argument to -dc/-du specifies number of context lines.\n"
"\n"
" The -f flag diffs every file, regardless of whether they are opened\n"
" or the client has synced the specified revision. This option can be\n"
" used to verify the contents of the client workspace.\n"
"\n"
" The -m max flag limits output to the first 'max' number of files,\n"
" unless the -s flag is used, in which case it is ignored.\n"
"\n"
" The -Od flag limits output to files that differ.\n"
"\n"
" The -s options lists the files that satisfy the following criteria:\n"
"\n"
" -sa Opened files that differ from the revision\n"
" in the depot or are missing.\n"
"\n"
" -sb Files that have been opened for integrate, resolved,\n"
" and subsequently modified.\n"
"\n"
" -sd Unopened files that are missing on the client.\n"
"\n"
" -se Unopened files that differ from the revision\n"
" in the depot.\n"
"\n"
" -sl Every unopened file, along with the status of\n"
" 'same, 'diff', or 'missing' as compared to the\n"
" corresponding revision in the depot.\n"
"\n"
" -sr Opened files that do not differ from the revision in\n"
" the depot.\n"
"\n"
" Note that if a revision is provided in the file specification, the -s\n"
" options compare the file(s) regardless of whether they are opened\n"
" or the client has synced the specified revision.\n"
"\n"
" The -t flag forces 'p4 diff' to diff binary files.\n"
"\n"
" If the environment variable $P4DIFF is set, the specified diff\n"
" program is launched in place of the default Perforce client diff.\n"
" The -d<flags> option can be used to pass arguments to the diff\n"
" program. Because the -s flag is only implemented internally, any\n"
" -d<flags> option used with the -s<flag> is ignored. To configure a\n"
" diff program for Unicode files, set the environment variable\n"
" $P4DIFFUNICODE. Specify the file's character set as the first\n"
" argument to the program.\n"
};
ErrorId MsgHelp::HelpDiff2 = { ErrorOf( ES_HELP, 40, E_INFO, EV_NONE, 0 ),
"\n"
" diff2 -- Compare one set of depot files to another\n"
"\n"
" p4 diff2 [options] fromFile[rev] toFile[rev]\n"
" p4 diff2 [options] -b branch [[fromFile[rev]] toFile[rev]]\n"
" p4 diff2 [options] [-S stream] [-P parent] [[fromFile[rev]] toFile[rev]]\n"
"\n"
" options: -d<flags> -Od -q -t -u\n"
"\n"
" 'p4 diff2' runs on the server to compare one set of depot files (the\n"
" 'source') to another (the 'target'). Source and target file sets\n"
" can be specified on the 'p4 diff2' command line or through a branch\n"
" view.\n"
"\n"
" With a branch view, fromFile and toFile are optional; fromFile limits\n"
" the scope of the source file set, and toFile limits the scope of the\n"
" target. If only one file argument is given, it is assumed to be\n"
" toFile.\n"
"\n"
" fromFile and toFile can include revision specifiers; by default, the\n"
" head revisions are diffed. See 'p4 help revisions' for details\n"
" about specifying file revisions.\n"
"\n"
" 'p4 diff2' precedes each diffed file pair with a header line of the\n"
" following form:\n"
"\n"
" ==== source#rev (type) - target#rev (type) ==== summary\n"
"\n"
" A source or target file shown as '<none>' means there is no file\n"
" at the specified name or revision to pair with its counterpart.\n"
" The summary status is one of the following: 'identical' means file\n"
" contents and types are identical, 'types' means file contents are\n"
" identical but the types are different, and 'content' means file\n"
" contents are different.\n"
"\n"
" The -b flag makes 'p4 diff2' use a user-defined branch view. (See\n"
" 'p4 help branch'.) The left side of the branch view is the source\n"
" and the right side is the target.\n"
"\n"
" The -S flag makes 'p4 diff2' use a generated branch view that maps\n"
" a stream (or its underlying real stream) to its parent. This defaults\n"
" to the current client's stream, if applicable. -P can be used to\n"
" generate the branch view using a parent stream other than the stream's\n"
" actual parent.\n"
"\n"
" The -d<flags> modify the output of diffs as follows:\n"
"\n"
" -dn (RCS)\n"
" -dc[n] (context)\n"
" -ds (summary)\n"
" -du[n] (unified)\n"
" -db (ignore whitespace changes)\n"
" -dw (ignore whitespace)\n"
" -dl (ignore line endings).\n"
"\n"
" The optional argument to -dc/-du specifies number of context lines.\n"
"\n"
" The -Od flag limits output to files that differ.\n"
"\n"
" The -q omits files that have identical content and types and\n"
" suppresses the actual diff for all files.\n"
"\n"
" The -t flag forces 'p4 diff2' to diff binary files.\n"
"\n"
" The -u flag uses the GNU diff -u format and displays only files\n"
" that differ. The file names and dates are in Perforce syntax, but\n"
" the output can be used by the patch program.\n"
};
ErrorId MsgHelp::HelpDirs = { ErrorOf( ES_HELP, 41, E_INFO, EV_NONE, 0 ),
"\n"
" dirs -- List depot subdirectories\n"
"\n"
" p4 dirs [-C -D -H] [-S stream] [-i] dir[revRange] ...\n"
"\n"
" List directories that match the specified file pattern (dir).\n"
" This command does not support the recursive wildcard (...).\n"
" Use the * wildcard instead.\n"
"\n"
" Perforce does not track directories individually. A path is treated\n"
" as a directory if there are any undeleted files with that path as a\n"
" prefix.\n"
"\n"
" By default, all directories containing files are listed. If the dir\n"
" argument includes a revision range, only directories containing files\n"
" in the range are listed. For details about specifying file revisions,\n"
" see 'p4 help revisions'.\n"
"\n"
" The -i flag is used to ignore the case of the file pattern when\n"
" listing directories in a case sensitive server. This flag is not\n"
" compatible with the -C option.\n"
"\n"
" The -C flag lists only directories that fall within the current\n"
" client view.\n"
"\n"
" The -D flag includes directories containing only deleted files.\n"
"\n"
" The -H flag lists directories containing files synced to the current\n"
" client workspace.\n"
"\n"
" The -S flag limits output to depot directories mapped in a stream's\n"
" client view.\n"
};
ErrorId MsgHelp::HelpDuplicate = { ErrorOf( ES_HELP, 104, E_INFO, EV_NONE, 0 ),
"\n"
" duplicate -- duplicate revisions with integration history (unsupported)\n"
"\n"
" p4 duplicate [-n -q] from[revRange] to\n"
"\n"
" Duplicate revisions as if they always existed. All aspects of the\n"
" source revisions are mirrored to the target revisions, including\n"
" changelist number, date, attributes, and contents. The target\n"
" revision must not already exist and the target file must not be\n"
" opened (for any operation) on any client.\n"
"\n"
" Integration records are duplicated as well.\n"
"\n"
" 'p4 duplicate' followed by a 'p4 obliterate' (of the source\n"
" revisions) is in effect a deep rename operation, with any source\n"
" revision in client workspace or labels forgotten.\n"
"\n"
" The -n flag displays what would be duplicated without actually\n"
" copying anything.\n"
"\n"
" The -q flag suppresses the warning about target revisions already\n"
" existing.\n"
"\n"
" 'p4 duplicate' requires 'admin' access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpEdit = { ErrorOf( ES_HELP, 42, E_INFO, EV_NONE, 0 ),
"\n"
" edit -- Open an existing file for edit\n"
"\n"
" p4 edit [-c changelist#] [-k -n] [-t filetype] [--remote=rmt] file ...\n"
"\n"
" Open an existing file for edit. The server records the fact that\n"
" the current user has opened the file in the current workspace, and\n"
" changes the file permission from read-only to read/write.\n"
"\n"
" If -c changelist# is included, the file opened in the specified\n"
" pending changelist. If changelist number is omitted, the file is\n"
" opened in the 'default' changelist.\n"
"\n"
" If -t filetype is specified, the file is assigned that Perforce\n"
" filetype. Otherwise, the filetype of the previous revision is reused.\n"
" If a partial filetype is specified, it is combined with the current\n"
" filetype.For details, see 'p4 help filetypes'.\n"
" Using a filetype of 'auto' will cause the filetype to be chosen\n"
" as if the file were being added, that is the typemap will be\n"
" considered and the file contents may be examined.\n"
"\n"
" The -n flag previews the operation without changing any files or\n"
" metadata.\n"
"\n"
" The -k flag updates metadata without transferring files to the\n"
" workspace. This option can be used to tell the server that files in\n"
" a client workspace are already editable, even if they are not in the\n"
" client view. Typically this flag is used to correct the Perforce\n"
" server when it is wrong about the state of files in the client\n"
" workspace, but incorrect use of this option can result in inaccurate\n"
" file status information.\n"
"\n"
" The --remote flag is useful for DVCS configurations in which files\n"
" of type +l are in use. 'p4 edit --remote=origin filename' opens the\n"
" named file for edit in your DVCS server, and additionally, if the\n"
" file is of type +l, takes a global exclusive lock on the origin\n"
" server. That global exclusive lock will be retained until you push\n"
" the updated file to the origin server, or until you use the\n"
" 'p4 revert --remote=origin filename' command to revert the file.\n"
"\n"
" 'p4 edit' is not supported for files with propagating attributes\n"
" from an edge server in a distributed environment.\n"
};
ErrorId MsgHelp::HelpFiles = { ErrorOf( ES_HELP, 43, E_INFO, EV_NONE, 0 ),
"\n"
" files -- List files in the depot\n"
"\n"
" p4 files [ -a ] [ -A ] [ -e ] [-i] [ -m max ] file[revRange] ...\n"
" p4 files -U unloadfile ...\n"
"\n"
" List details about specified files: depot file name, revision,\n"
" file, type, change action and changelist number of the current\n"
" head revision. If client syntax is used to specify the file\n"
" argument, the client view mapping is used to determine the\n"
" corresponding depot files.\n"
"\n"
" By default, the head revision is listed. If the file argument\n"
" specifies a revision, then all files at that revision are listed.\n"
" If the file argument specifies a revision range, the highest revision\n"
" in the range is used for each file. For details about specifying\n"
" revisions, see 'p4 help revisions'.\n"
"\n"
" The -a flag displays all revisions within the specific range, rather\n"
" than just the highest revision in the range.\n"
"\n"
" The -A flag displays files in archive depots.\n"
"\n"
" The -e flag displays files with an action of anything other than\n"
" deleted, purged or archived. Typically this revision is always\n"
" available to sync or integrate from.\n"
"\n"
" The -i flag is used to ignore the case of the file argument when\n"
" listing files in a case sensitive server.\n"
"\n"
" The -m flag limits files to the first 'max' number of files.\n"
"\n"
" The -U option displays files in the unload depot (see 'p4 help unload'\n"
" for more information about the unload depot).\n"
};
ErrorId MsgHelp::HelpFilelog = { ErrorOf( ES_HELP, 44, E_INFO, EV_NONE, 0 ),
"\n"
" filelog -- List revision history of files\n"
"\n"
" p4 filelog [-c changelist# -h -i -l -L -t -m max -p -s] file[revRange] ...\n"
"\n"
" List the revision history of the specified files, from the most\n"
" recent revision to the first. If the file specification includes\n"
" a revision, the command lists revisions at or prior to the specified\n"
" revision. If the file specification includes a revision range,\n"
" the command lists only the specified revisions.\n"
" See 'p4 help revisions' for details.\n"
"\n"
" The -c changelist# flag displays files submitted at the specified\n"
" changelist number.\n"
"\n"
" The -i flag includes inherited file history. If a file was created by\n"
" branching (using 'p4 integrate'), filelog lists the revisions of the\n"
" file's ancestors up to the branch points that led to the specified\n"
" revision. File history inherited by renaming (using 'p4 move') is\n"
" always displayed regardless of whether -i is specified.\n"
"\n"
" The -h flag displays file content history instead of file name\n"
" history. The list includes revisions of other files that were\n"
" branched or copied (using 'p4 integrate' and 'p4 resolve -at') to\n"
" the specified revision. Revisions that were replaced by copying\n"
" or branching are omitted, even if they are part of the history of\n"
" the specified revision.\n"
"\n"
" The -t flag displays the time as well as the date.\n"
"\n"
" The -l flag lists the full text of the changelist descriptions.\n"
"\n"
" The -L flag lists the full text of the changelist descriptions,\n"
" truncated to 250 characters if longer.\n"
"\n"
" The -m max displays at most 'max' revisions per file of the file[rev]\n"
" argument specified.\n"
"\n"
" The -p flag is used in conjunction with the '-h' flag to prevent\n"
" filelog from following content of promoted task streams. This flag\n"
" is useful when there are many child task streams branched from the\n"
" file argument supplied.\n"
"\n"
" The -s flag displays a shortened form of filelog that omits\n"
" non-contributory integrations.\n"
};
ErrorId MsgHelp::HelpFix = { ErrorOf( ES_HELP, 45, E_INFO, EV_NONE, 0 ),
"\n"
" fix -- Mark jobs as being fixed by the specified changelist\n"
"\n"
" p4 fix [-d] [-s status] -c changelist# jobName ...\n"
"\n"
" 'p4 fix' marks each named job as being fixed by the changelist\n"
" number specified with -c. The changelist can be pending or\n"
" submitted and the jobs can be open or closed (fixed by another\n"
" changelist).\n"
"\n"
" If the changelist has already been submitted and the job is still\n"
" open, then 'p4 fix' marks the job closed. If the changelist has not\n"
" been submitted and the job is still open, the job is closed when the\n"
" changelist is submitted. If the job is already closed, it remains\n"
" closed.\n"
"\n"
" The -d flag deletes the specified fixes. This operation does not\n"
" otherwise affect the specified changelist or jobs.\n"
"\n"
" The -s flag uses the specified status instead of the default defined\n"
" in the job specification.\n"
"\n"
" The fix's status is reported by 'p4 fixes', and is related to the\n"
" job's status. Certain commands set the job's status to the fix's\n"
" status for each job associated with the change. When a job is fixed\n"
" by a submitted change, the job's status is set to match the fix\n"
" status. When a job is fixed by a pending change, the job's status\n"
" is set to match the fix status when the change is submitted. If the\n"
" fix's status is 'same', the job's status is left unchanged.\n"
};
ErrorId MsgHelp::HelpFixes = { ErrorOf( ES_HELP, 46, E_INFO, EV_NONE, 0 ),
"\n"
" fixes -- List jobs with fixes and the changelists that fix them\n"
"\n"
" p4 fixes [-i -m max -c changelist# -j jobName] [file[revRange] ...]\n"
"\n"
" 'p4 fixes' list fixed jobs and the number of the changelist that\n"
" contains the fix. Fixes are associated with changelists using the\n"
" 'p4 fix' command or by editing and submitting changelists.\n"
"\n"
" The 'p4 fixes' command lists both submitted and pending changelists.\n"
"\n"
" By default, 'p4 fixes' lists all fixes. This list can be limited\n"
" as follows: to list fixes for a specified job, use the -j jobName\n"
" flag. To list fixes for a specified changelist, use -c changelist#.\n"
" To list fixes that affect specified files, include the file argument.\n"
" The file pattern can include wildcards and revision specifiers. For\n"
" details about revision specifiers, see 'p4 help revisions'\n"
"\n"
" The -i flag also includes any fixes made by changelists integrated\n"
" into the specified files.\n"
"\n"
" The -m max flag limits output to the specified number of job\n"
" fixes.\n"
};
ErrorId MsgHelp::HelpFstat = { ErrorOf( ES_HELP, 48, E_INFO, EV_NONE, 0 ),
"\n"
" fstat -- Dump file info\n"
"\n"
" p4 fstat [-F filter -L -T fields -m max -r] [-c | -e changelist#]\n"
" [-Ox -Rx -Sx] [-A pattern] [-U] file[rev] ...\n"
"\n"
" Fstat lists information about files, one line per field. Fstat is\n"
" intended for use in Perforce API applications, where the output can\n"
" be accessed as variables, but its output is also suitable for parsing\n"
" from the client command output in scripts.\n"
"\n"
" The fields that fstat displays are:\n"
"\n"
" attr-<name> -- attribute value for <name>\n"
" attrProp-<name> -- set if attribute <name> is propagating\n"
" clientFile -- local path (host or Perforce syntax)\n"
" depotFile -- name in depot\n"
" movedFile -- name in depot of moved to/from file\n"
" path -- local path (host syntax)\n"
" isMapped -- set if file is mapped in the client\n"
" shelved -- set if file is shelved\n"
" headAction -- action at head rev, if in depot\n"
" headChange -- head rev changelist#, if in depot\n"
" headRev -- head rev #, if in depot\n"
" headType -- head rev type, if in depot\n"
" headCharset -- head charset, for unicode type\n"
" headTime -- head rev changelist time, if in depot\n"
" headModTime -- head rev mod time, if in depot\n"
" movedRev -- head rev # of moved file\n"
" haveRev -- rev had on client, if on client\n"
" desc -- change description (if -e specified)\n"
" digest -- MD5 digest (fingerprint)\n"
" fileSize -- file size\n"
" action -- open action, if opened\n"
" type -- open type, if opened\n"
" charset -- open charset, for unicode type\n"
" actionOwner -- user who opened file, if opened\n"
" workRev -- open revision, if opened\n"
" change -- open changelist#, if opened\n"
" resolved -- resolved integration records\n"
" unresolved -- unresolved integration records\n"
" reresolvable -- reresolvable integration records\n"
" otherOpen -- set if someone else has it open\n"
" otherOpen# -- list of user@client with file opened\n"
" otherLock -- set if someone else has it locked\n"
" otherLock# -- user@client with file locked\n"
" otherAction# -- open action, if opened by someone else\n"
" otherChange# -- changelist, if opened by someone else\n"
" openattr-<name> -- attribute value for <name>\n"
" openattrProp-<name> -- set if attribute <name> is propagating\n"
" ourLock -- set if this user/client has it locked\n"
" resolveAction# -- pending integration record action\n"
" resolveBaseFile# -- pending integration base file\n"
" resolveBaseRev# -- pending integration base rev\n"
" resolveFromFile# -- pending integration from file\n"
" resolveStartFromRev# -- pending integration from start rev\n"
" resolveEndFromRev# -- pending integration from end rev\n"
" totalFileCount -- total no. of files, if sorted\n"
"\n"
" The -A <pattern> flag restricts displayed attributes to those that\n"
" match 'pattern'.\n"
"\n"
" The -F flag lists only files satisfying the filter expression. This\n"
" filter syntax is similar to the one used for 'jobs -e jobview' and is\n"
" used to evaluate the contents of the fields in the preceding list.\n"
" Filtering is case-sensitive.\n"
"\n"
" Example: -Ol -F \"fileSize > 1000000 & headType=text\"\n"
"\n"
" Note: filtering is not optimized with indexes for performance.\n"
"\n"
" The -L flag can be used with multiple file arguments that are in\n"
" full depot syntax and include a valid revision number. When this\n"
" flag is used the arguments are processed together by building an\n"
" internal table similar to a label. This file list processing is\n"
" significantly faster than having to call the internal query engine\n"
" for each individual file argument. However, the file argument syntax\n"
" is strict and the command will not run if an error is encountered.\n"
"\n"
" The -T fields flag returns only the specified fields. The field names\n"
" can be specified using a comma- or space-delimited list.\n"
"\n"
" Example: -Ol -T \"depotFile, fileSize\"\n"
"\n"
" The -m max flag limits output to the specified number of files.\n"
"\n"
" The -r flag sorts the output in reverse order.\n"
"\n"
" The -c changelist# flag displays files modified by the specified\n"
" changelist or after that changelist was submitted. This operation is\n"
" much faster than using a revision range on the affected files.\n"
"\n"
" The -e changelist# flag lists files modified by the specified\n"
" changelist. When used with the -Ro flag, only pending changes are\n"
" considered, to ensure that files opened for add are included. This\n"
" option also displays the change description.\n"
"\n"
" The -O options modify the output as follows:\n"
"\n"
" -Oa output attributes set by 'p4 attribute'.\n"
"\n"
" -Od output the digest of the attribute.\n"
"\n"
" -Oe output attribute values encoded as hex\n"
"\n"
" -Of output all revisions for the given files (this\n"
" option suppresses other* and resolve* fields)\n"
"\n"
" -Ol output a fileSize and digest field for each revision\n"
" (this may be expensive to compute)\n"
"\n"
" -Op output the local file path in both Perforce syntax\n"
" (//client/) as 'clientFile' and host form as 'path'\n"
"\n"
" -Or output pending integration record information for\n"
" files opened on the current client, or if used with\n"
" '-e <change> -Rs', on the shelved change\n"
"\n"
" -Os exclude client-related data from output\n"
"\n"
" The -R option limits output to specific files:\n"
"\n"
" -Rc files mapped in the client view\n"
" -Rh files synced to the client workspace\n"
" -Rn files opened not at the head revision\n"
" -Ro files opened\n"
" -Rr files opened that have been resolved\n"
" -Rs files shelved (requires -e)\n"
" -Ru files opened that need resolving\n"
"\n"
" The -S option changes the order of output:\n"
"\n"
" -St sort by filetype\n"
" -Sd sort by date\n"
" -Sr sort by head revision\n"
" -Sh sort by have revision\n"
" -Ss sort by filesize\n"
"\n"
" The -U flag displays information about unload files in the unload\n"
" depot (see 'p4 help unload').\n"
"\n"
" For compatibility, the following flags are also supported:\n"
" -C (-Rc) -H (-Rh) -W (-Ro) -P (-Op) -l (-Ol) -s (-Os).\n"
};
ErrorId MsgHelp::HelpGrep = { ErrorOf( ES_HELP, 122, E_INFO, EV_NONE, 0 ),
"\n"
" grep -- Print lines matching a pattern\n"
"\n"
" p4 grep [options] -e pattern file[revRange]...\n"
"\n"
" options: -a -i -n -A <num> -B <num> -C <num> -t -s (-v|-l|-L) (-F|-G)\n"
"\n"
" Searches files for lines that match the specified regular expression,\n"
" which can contain wildcards. The parser used by the Perforce server\n"
" is based on V8 regexp and might not be compatible with later parsers,\n"
" but the majority of functionality is available.\n"
"\n"
" By default the head revision is searched. If the file argument\n"
" includes a revision specification, all corresponding revisions are\n"
" searched. If the file argument includes a revision range, only files\n"
" in that range are listed, and the highest revision in the range is\n"
" searched. For details about revision specifiers, see \n"
" 'p4 help revisions'.\n"
"\n"
" The -a flag searches all revisions within the specified range. By\n"
" default only the highest revision in the range is searched.\n"
"\n"
" The -i flag causes the pattern matching to be case-insensitive. By\n"
" default, matching is case-sensitive.\n"
"\n"
" The -n flag displays the matching line number after the file revision\n"
" number. By default, matches are displayed as revision#: <text>.\n"
"\n"
" The -v flag displays files with non-matching lines.\n"
"\n"
" The -F flag is used to interpret the pattern as a fixed string.\n"
"\n"
" The -G flag is used to interpret the pattern as a regular expression,\n"
" which is the default behavior.\n"
"\n"
" The -L flag displays the name of each selected file from which no\n"
" output would normally have been displayed. Scanning stops on the\n"
" first match.\n"
"\n"
" The -l flag displays the name of each selected file containing\n"
" matching text. Scanning stops on the first match.\n"
"\n"
" The -s flag suppresses error messages that result from abandoning\n"
" files that have a maximum number of characters in a single line that\n"
" are greater than 4096. By default, an error is reported when grep\n"
" abandons such files.\n"
"\n"
" The -t flag searches binary files. By default, only text files are\n"
" searched.\n"
"\n"
" The -A <num> flag displays the specified number of lines of trailing\n"
" context after matching lines.\n"
"\n"
" The -B <num> flag displays the specified number of lines of leading\n"
" context before matching lines.\n"
"\n"
" The -C <num> flag displays the specified number of lines of output\n"
" context.\n"
"\n"
" Regular expressions:\n"
"\n"
" A regular expression is zero or more branches, separated by `|'. It\n"
" matches anything that matches one of the branches.\n"
"\n"
" A branch is zero or more pieces, concatenated. It matches a match\n"
" for the first, followed by a match for the second, etc.\n"
"\n"
" A piece is an atom possibly followed by `*', `+', or `?'. An atom\n"
" followed by `*' matches a sequence of 0 or more matches of the atom.\n"
" An atom followed by `+' matches a sequence of 1 or more matches of\n"
" the atom. An atom followed by `?' matches a match of the atom, or\n"
" the null string.\n"
"\n"
" An atom is a regular expression in parentheses (matching a match for\n"
" the regular expression), a range (see below), `.' (matching any\n"
" single character), `^' (matching the null string at the beginning\n"
" of the input string), `$' (matching the null string at the end of\n"
" the input string), a `\\' followed by a single character (matching\n"
" that character), or a single character with no other significance\n"
" (matching that character).\n"
"\n"
" A range is a sequence of characters enclosed in `[]'. It normally\n"
" matches any single character from the sequence. If the sequence\n"
" begins with `^', it matches any single character not from the rest\n"
" of the sequence. If two characters in the sequence are separated by\n"
" `-', this is shorthand for the full list of ASCII characters between\n"
" them (e.g. `[0-9]' matches any decimal digit). To include a literal\n"
" `]' in the sequence, make it the first character (following a possible\n"
" `^'). To include a literal `-', make it the first or last character.\n"
"\n"
" The symbols '\\<' and '\\>' respectively match the empty string at\n"
" the beginning and end of a word.\n"
};
ErrorId MsgHelp::HelpGroup = { ErrorOf( ES_HELP, 49, E_INFO, EV_NONE, 0 ),
"\n"
" group -- Change members of user group\n"
"\n"
" p4 group [-a|-A] name\n"
" p4 group -d [-a | -F] name\n"
" p4 group -o name\n"
" p4 group -i [-a|-A]\n"
"\n"
" Create a group or modify the membership of an existing group.\n"
" A group can contain users and other groups. The group specification\n"
" is put into a temporary file and the editor (configured by the\n"
" environment variable $P4EDITOR) is invoked.\n"
"\n"
" A group exists when it has any users or other groups in it, and\n"
" ceases to exist if all users and groups in it are removed.\n"
"\n"
" Each group has MaxResults, MaxScanRows, MaxLockTime and MaxOpenFiles\n"
" fields, which limit the resources committed to operations performed by\n"
" members of the group. For these fields, 'unlimited' or 'unset'\n"
" means no limit for that group. An individual user's limit is the\n"
" highest of any group with a limit to which he belongs, unlimited if\n"
" any of his groups has 'unlimited' for that field, or unlimited\n"
" if he belongs to no group with a limit. See 'p4 help maxresults'\n"
" for more information on MaxResults, MaxScanRows, MaxLockTime and\n"
" MaxOpenFiles.\n"
"\n"
" Each group also has a Timeout field, which specifies how long (in\n"
" seconds) a 'p4 login' ticket remains valid. A value of 'unset' or\n"
" 'unlimited' is equivalent to no timeout. An individual's timeout is\n"
" the highest of any group with a limit to which he belongs, unlimited\n"
" if any of his groups has 'unlimited' for the timeout value, or\n"
" unlimited if he belongs to no group with a limit. See 'p4 help login'\n"
" for more information.\n"
"\n"
" Each group has a PasswordTimeout field, which determines how long a\n"
" password remains valid for members of the group.\n"
"\n"
" A group may be synchronized with an LDAP group by setting the three\n"
" fields: LdapConfig, LdapSearchQuery and LdapUserAttribute. This takes\n"
" the LDAP configuration (see 'p4 ldap') specified by LdapConfig and uses\n"
" it to execute the query stored by LdapSearchQuery. The LDAP attribute\n"
" specified by LdapUserAttribute is taken to be user's username and is\n"
" added to the group's user list. At least one group owner must be set\n"
" if these LDAP fields are used. If the LDAP server requires login for\n"
" read-only queries, then the LDAP configuration must contain valid bind\n"
" credentials in the LDAP spec's SearchBindDN and SearchPasswd fields\n"
"\n"
" The -d flag deletes a group.\n"
"\n"
" The -o flag writes the group specification to standard output. The\n"
" user's editor is not invoked.\n"
"\n"
" The -i flag reads a group specification from standard input. The\n"
" user's editor is not invoked. The new group specification replaces\n"
" the previous one.\n"
"\n"
" The -a flag enables a user without 'super' access to modify the group\n"
" if that user is an 'owner' of that group. Group owners are specified\n"
" in the 'Owners' field of the group spec.\n"
"\n"
" The -A flag enables a user with 'admin' access to add a new group.\n"
" Existing groups may not be modified when this flag is used.\n"
"\n"
" The -F flag, used only with -d, forces the deletion of the\n"
" specified group, and also removes the group from the protections\n"
" table and from all groups.\n"
"\n"
" All commands that require access granted by 'p4 protect' consider a\n"
" user's groups when calculating access levels.\n"
"\n"
" 'p4 group' requires 'super' access granted by 'p4 protect' unless\n"
" invoked with the '-a' or '-A' flag by a qualified user.\n"
};
ErrorId MsgHelp::HelpGroups = { ErrorOf( ES_HELP, 50, E_INFO, EV_NONE, 0 ),
"\n"
" groups -- List groups (of users)\n"
"\n"
" p4 groups [-m max] [-v] [group]\n"
" p4 groups [-m max] [-i [-v]] user | group\n"
" p4 groups [-m max] [-g | -u | -o] name\n"
"\n"
" The first form lists all user groups defined in the server, or just\n"
" the specified group.\n"
"\n"
" The second form displays subgroup relationships. If a user argument is\n"
" specified, only groups containing that user are displayed. If a group\n"
" argument is specified, only groups containing the group are displayed.\n"
"\n"
" The third form is useful when there are groups and users with the\n"
" same name, or when requesting all groups owned by a certain user.\n"
"\n"
" The -i flag also displays groups that the user or group belongs to\n"
" indirectly by means of membership in subgroups.\n"
"\n"
" The -m max flag limits output to the specified number of groups.\n"
"\n"
" The -v flag displays the MaxResults, MaxScanRows, MaxLockTime, and\n"
" Timeout values for each group that is displayed.\n"
"\n"
" The -g flag indicates that the 'name' argument is a group.\n"
"\n"
" The -u flag indicates that the 'name' argument is a user.\n"
"\n"
" The -o flag indicates that the 'name' argument is an owner.\n"
};
ErrorId MsgHelp::HelpHave = { ErrorOf( ES_HELP, 51, E_INFO, EV_NONE, 0 ),
"\n"
" have -- List the revisions most recently synced to the current workspace\n"
"\n"
" p4 have [file ...]\n"
"\n"
" List revision numbers of the currently-synced files. If file name is\n"
" omitted, list all files synced to this client workspace.\n"
"\n"
" The format is: depot-file#revision - client-file\n"
};
ErrorId MsgHelp::HelpHelp = { ErrorOf( ES_HELP, 52, E_INFO, EV_NONE, 0 ),
"\n"
" help -- Print help message\n"
"\n"
" p4 help [command ...]\n"
"\n"
" Print usage details about the specified command. If the command\n"
" name is omitted, print a general help message about Perforce and\n"
" list the available client commands.\n"
};
ErrorId MsgHelp::HelpIgnores = { ErrorOf( ES_HELP, 189, E_INFO, EV_NONE, 0 ),
"\n"
" ignores -- List P4IGNORE mappings\n"
"\n"
" p4 ignores [-v] [path ...]\n"
" p4 ignores [-v] -i path ...\n"
"\n"
" List the computed mappings from the rules found in P4IGNORE files\n"
" at the specified path. The path(s) must be in local syntax. If no\n"
" paths are specified, P4IGNORE rules from the current directory are\n"
" reported.\n"
"\n"
" The -v flag displays additional information about the origin of the\n"
" mapping. This includes the original rule, which file that was loaded\n"
" from and the line number in that file.\n"
"\n"
" The -i flag allows you to test whether the path specified would be\n"
" ignored by the rules in the P4IGNORE files. The target is listed if\n"
" path matches one of the mappings. If the -v flag is also provided,\n"
" the target will be reported with a message explaining if it will be\n"
" ignored and if it matched a mapping, which P4IGNORE rule affected it.\n"
};
ErrorId MsgHelp::HelpIndex = { ErrorOf( ES_HELP, 96, E_INFO, EV_NONE, 0 ),
"\n"
" index -- Add words to the jobs index (unsupported)\n"
"\n"
" p4 index [-a attrib] [-d] name\n"
"\n"
" Index is an interface to the search engine used to search jobs.\n"
" It reads its standard input for text, breaks the text into words,\n"
" and adds those words to the search engine's index with the\n"
" key 'name' and the optional attribute 'attrib'. (Job fields\n"
" are entered with the name of the job as the name and the field\n"
" name as the attribute.)\n"
"\n"
" If -a attrib is specified, that attribute number is used instead of 0.\n"
"\n"
" The -d option deletes entries from the index.\n"
"\n"
" See also 'p4 help search'.\n"
};
ErrorId MsgHelp::HelpInfo = { ErrorOf( ES_HELP, 53, E_INFO, EV_NONE, 0 ),
"\n"
" info -- Display client/server information\n"
"\n"
" p4 info [-s]\n"
"\n"
" Info lists information about the current client (user name,\n"
" client name, applicable client root, client current directory,\n"
" and the client IP address) and some server information (server\n"
" IP address, server root, date, uptime, version and license data).\n"
"\n"
" The -s option produces 'short' output that omits any information\n"
" that requires a database lookup such as the client root).\n"
};
ErrorId MsgHelp::HelpInteg = { ErrorOf( ES_HELP, 54, E_INFO, EV_NONE, 0 ),
"\n"
" integrate -- Integrate one set of files into another\n"
"\n"
" p4 integrate [options] fromFile[revRange] toFile\n"
" p4 integrate [options] -b branch [-r] [toFile[revRange] ...]\n"
" p4 integrate [options] -b branch -s fromFile[revRange] [toFile ...]\n"
" p4 integrate [options] -S stream [-r] [-P parent] [file[revRange] ...]\n"
"\n"
" options: -c changelist# -Di -f -h -O<flags> -n -m max -R<flags> -q\n"
"\n"
" 'p4 integrate' integrates one set of files (the 'source') into\n"
" another (the 'target').\n"
"\n"
" (See also 'p4 merge' and 'p4 copy', variants of 'p4 integrate' that\n"
" may be easier and more effective for the task at hand.) \n"
"\n"
" Using the client workspace as a staging area, 'p4 integrate' adds and\n"
" deletes target files per changes in the source, and schedules all\n"
" other affected target files to be resolved. Target files outside of\n"
" the current client view are not affected. Source files need not be\n"
" within the client view.\n"
"\n"
" 'p4 resolve' must be used to merge file content, and to resolve\n"
" filename and filetype changes. 'p4 submit' commits integrated files\n"
" to the depot. Unresolved files may not be submitted. Integrations\n"
" can be shelved with 'p4 shelve' and abandoned with 'p4 revert'. The\n"
" commands 'p4 integrated' and 'p4 filelog' display integration history.\n"
"\n"
" When 'p4 integrate' schedules a workspace file to be resolved, it\n"
" leaves it read-only. 'p4 resolve' can operate on a read-only file.\n"
" For other pre-submit changes, 'p4 edit' must be used to make the\n"
" file writable.\n"
"\n"
" Source and target files can be specified either on the 'p4 integrate'\n"
" command line or through a branch view. On the command line, fromFile\n"
" is the source file set and toFile is the target file set. With a\n"
" branch view, one or more toFile arguments can be given to limit the\n"
" scope of the target file set.\n"
"\n"
" revRange is a revision or a revision range that limits the span of\n"
" source history to be probed for unintegrated revisions. revRange\n"
" can be used on fromFile, or on toFile, but not on both. When used on\n"
" toFile, it refers to source revisions, not to target revisions. For\n"
" details about revision specifiers, see 'p4 help revisions'.\n"
"\n"
" The -S flag makes 'p4 integrate' use a generated branch view that maps\n"
" a stream (or its underlying real stream) to its parent. With -r, the\n"
" direction of the mapping is reversed. -P can be used to generate the\n"
" branch view using a parent stream other than the stream's actual\n"
" parent. Note that to submit integrated stream files, the current\n"
" client must be switched to the target stream, or to a virtual child\n"
" stream of the target stream.\n"
"\n"
" The -b flag makes 'p4 integrate' use a user-defined branch view.\n"
" (See 'p4 help branch'.) The source is the left side of the branch view\n"
" and the target is the right side. With -r, the direction is reversed.\n"
"\n"
" The -s flag can be used with -b to cause fromFile to be treated as\n"
" the source, and both sides of the branch view to be treated as the\n"
" target, per the branch view mapping. Optional toFile arguments may\n"
" be given to further restrict the scope of the target file set. The\n"
" -r flag is ignored when -s is used.\n"
"\n"
" Note that 'p4 integrate' automatically adusts source-to-target\n"
" mappings for moved and renamed files. (Adjustment occurs only if\n"
" the 'p4 move' command was used to move/rename files.) The scope of\n"
" source and target file sets must include both the old-named and the\n"
" new-named files for mappings to be adjusted. A filename resolve is\n"
" scheduled for each remapped file to allow the target to be moved to\n"
" match the source.\n"
"\n"
" The -f flag forces integrate to ignore integration history and treat\n"
" all source revisions as unintegrated. It is meant to be used with\n"
" revRange to force reintegration of specific, previously integrated\n"
" revisions. \n"
"\n"
" The -O flags cause more information to be output for each file opened:\n"
"\n"
" -Ob Show the base revision for the merge (if any).\n"
" -Or Show the resolve(s) that are being scheduled.\n"
"\n"
" The -R flags modify the way resolves are scheduled:\n"
"\n"
" -Rb Schedules 'branch resolves' instead of branching new\n"
" target files automatically.\n"
"\n"
" -Rd Schedules 'delete resolves' instead of deleting\n"
" target files automatically.\n"
"\n"
" -Rs Skips cherry-picked revisions already integrated.\n"
" This can improve merge results, but can also cause\n"
" multiple resolves per file to be scheduled.\n"
"\n"
" The -Di flag modifies the way deleted revisions are treated. If the\n"
" source file has been deleted and re-added, revisions that precede\n"
" the deletion will be considered to be part of the same source file.\n"
" By default, re-added files are considered to be unrelated to the\n"
" files of the same name that preceded them.\n"
"\n"
" The -h flag leaves the target files at the revision currently synced\n"
" to the client (the '#have' revision). By default, target files are\n"
" automatically synced to the head revision by 'p4 integrate'.\n"
"\n"
" The -m flag limits integration to the first 'max' number of files.\n"
"\n"
" The -n flag displays a preview of integration, without actually\n"
" doing anything.\n"
"\n"
" The -q flag suppresses normal output messages. Messages regarding\n"
" errors or exceptional conditions are displayed.\n"
"\n"
" If -c changelist# is specified, the files are opened in the\n"
" designated numbered pending changelist instead of the 'default'\n"
" changelist.\n"
"\n"
" Integration is not supported for files with propagating attributes\n"
" from an edge server in a distributed environment. Depending on the\n"
" integration action, target, and source, either the integration or\n"
" resolve command will fail.\n"
};
ErrorId MsgHelp::HelpInteg3 = { ErrorOf( ES_HELP, 160, E_INFO, EV_NONE, 0 ),
"\n"
" See 'p4 help integrate'.\n"
"\n"
};
ErrorId MsgHelp::HelpInteged = { ErrorOf( ES_HELP, 55, E_INFO, EV_NONE, 0 ),
"\n"
" integrated -- List integrations that have been submitted\n"
"\n"
" p4 integrated [-r] [-b branch] [file ...]\n"
"\n"
" The p4 integrated command lists integrations that have been submitted.\n"
" To list unresolved integrations, use 'p4 resolve -n'. To list\n"
" resolved but unsubmitted integrations, use 'p4 resolved'.\n"
"\n"
" If the -b branch flag is specified, only files integrated from the\n"
" source to target files in the branch view are listed. Qualified\n"
" files are listed, even if they were integrated without using the\n"
" branch view.\n"
"\n"
" The -r flag reverses the mappings in the branch view, swapping the\n"
" target files and source files. The -b branch flag is required.\n"
};
ErrorId MsgHelp::HelpIstat = { ErrorOf( ES_HELP, 131, E_INFO, EV_NONE, 0 ),
"\n"
" istat -- Show/cache a stream's integration status\n"
"\n"
" p4 istat [ -a -c -r -s ] stream\n"
"\n"
" 'p4 istat' shows a stream's cached integration status with respect\n"
" to its parent. If the cache is stale, either because newer changes\n"
" have been submitted or the stream's branch view has changed, 'p4 \n"
" istat' checks for pending integrations and updates the cache before\n"
" showing status. \n"
"\n"
" Pending integrations are shown only if they are expected by the\n"
" stream; that is, only if they are warranted by the stream's type\n"
" and its fromParent/toParent flow options. (See 'p4 help stream'.)\n"
"\n"
" The -r flag shows the status of integration to the stream from its\n"
" parent. By default, status of integration in the other direction is\n"
" shown, from the stream to its parent.\n"
"\n"
" The -a flag shows status of integration in both directions.\n"
"\n"
" The -c flag forces 'p4 istat' to assume the cache is stale; it\n"
" causes a search for pending integrations. Use of this flag can\n"
" impact server performance.\n"
"\n"
" The -s flag shows cached state without refreshing stale data.\n"
};
ErrorId MsgHelp::HelpJob = { ErrorOf( ES_HELP, 56, E_INFO, EV_NONE, 0 ),
"\n"
" job -- Create or edit a job (defect) specification\n"
"\n"
" p4 job [-f] [jobName]\n"
" p4 job -d jobName\n"
" p4 job -o [jobName]\n"
" p4 job -i [-f]\n"
"\n"
" The 'p4 job' command creates and edits job specifications using an\n"
" ASCII form. A job is a defect, enhancement, or other unit of\n"
" intended work.The 'p4 fix' command associates changelists with jobs.\n"
"\n"
" With no arguments, 'p4 job' creates an empty job specification\n"
" and invokes the user's editor. When the specification is saved,\n"
" a job name of the form jobNNNNNN is assigned. If the jobName\n"
" parameter is specified on the command line, the job is created or\n"
" opened for editing.\n"
"\n"
" As jobs are entered or updated, all fields are indexed for searching\n"
" Text fields are broken into individual alphanumeric words (punctuation\n"
" and whitespace are ignored) and each word is case-folded and entered\n"
" into the word index. Date fields are converted to an internal\n"
" representation (seconds since 1970/01/01 00:00:00) and entered\n"
" into the date index.\n"
"\n"
" The fields that compose a job are defined by the 'p4 jobspec' command.\n"
" Perforce provides a default job specification that you can edit.\n"
"\n"
" The -d flag deletes the specified job. You cannot delete a job if\n"
" it has pending or submitted fixes associated with it.\n"
"\n"
" The -o flag writes the job specification to the standard output.\n"
" The user's editor is not invoked.\n"
"\n"
" The -i flag reads a job specification from the standard input. The\n"
" user's editor is not invoked.\n"
"\n"
" The -f flag enables you set fields that are read-only by default.\n"
" The -f flag requires 'admin' access, which is granted using the\n"
" 'p4 protect' command.\n"
};
ErrorId MsgHelp::HelpKey = { ErrorOf( ES_HELP, 157, E_INFO, EV_NONE, 0 ),
"\n"
" key -- Display, set, or delete a key/value pair\n"
"\n"
" p4 key name\n"
" p4 key [-v] name value\n"
" p4 key [-d] name\n"
" p4 key [-i -v] name\n"
" p4 key [-m] [ pair list ]\n"
" p4 key --from=oldValue --to=newValue name\n"
"\n"
" The first form displays the value of the specified key.\n"
"\n"
" The second form sets the key to the specified value.\n"
"\n"
" The third form deletes the key.\n"
"\n"
" The -i flag increments a keys value by 1 and returns the new value.\n"
" This option is used instead of a value argument and can only be\n"
" used with numeric key values.\n"
"\n"
" The -v flag displays the previous value of the specified key\n"
" after the key has been set or incremented.\n"
"\n"
" The fifth form allows multiple operations in one command.\n"
" With this, the list is pairs of arguments. Each pair is either\n"
" key value or '-' key. To set a key use a key and value.\n"
" To delete a key use a '-' followed by the key.\n"
"\n"
" The sixth form sets a key to the newValue only if the current\n"
" value of the key is oldValue. Note that a key that has never\n"
" been set (or has been deleted) cannot be set using this form.\n"
"\n"
" 'p4 key' requires 'review' access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpKeys = { ErrorOf( ES_HELP, 158, E_INFO, EV_NONE, 0 ),
"\n"
" keys -- Display list of known key/values\n"
"\n"
" p4 keys [-e nameFilter -m max]\n"
"\n"
" The -e nameFilter flag lists keys with a name that matches\n"
" the nameFilter pattern, for example: -e 'mykey-*'.\n"
"\n"
" The -m max flag limits the output to the first 'max' keys.\n"
};
ErrorId MsgHelp::HelpInterchanges = { ErrorOf( ES_HELP, 97, E_INFO, EV_NONE, 0 ),
"\n"
" interchanges -- Report changes not yet integrated\n"
"\n"
" p4 interchanges [options] fromFile[revRange] toFile\n"
" p4 interchanges [options] -b branch [toFile[revRange] ...]\n"
" p4 interchanges [options] -b branch -s fromFile[revRange] [toFile ...]\n"
" p4 interchanges [options] -S stream [-P parent] [file[revRange] ...]\n"
"\n"
" options: -f -l -r -t -u -F\n"
"\n"
" 'p4 interchanges' lists changes that have not been integrated from \n"
" a set of source files to a set of target files.\n"
"\n"
" The -f option lists the individual files that require integration.\n"
" For partially integrated changelists, files might be listed even if\n"
" they have been integrated individually.\n"
"\n"
" The -l flag includes the full text of the changelist descriptions.\n"
"\n"
" The -t flag displays the time as well as the date.\n"
"\n"
" The -b flag makes 'p4 interchanges' use a user-defined branch view.\n"
" (See 'p4 help branch'.) The source is the left side of the branch\n"
" view and the target is the right side. Used with the -r flag, the\n"
" direction is reversed.\n"
"\n"
" The -s flag can be used with -b to cause fromFile to be treated as\n"
" the source, and both sides of the branch view to be treated as the\n"
" target, per the branch view mapping. Optional toFile arguments may\n"
" be given to further restrict the scope of the target file set. The\n"
" -r flag is ignored when -s is used.\n"
"\n"
" The -u flag limits results to those submitted by a particular user.\n"
"\n"
" The -S flag causes 'p4 interchanges' to use a generated branch view\n"
" that maps a stream to its parent. With -r, the direction of the\n"
" mapping is reversed. -P can be used to generate the branch view\n"
" using a parent stream other than the stream's actual parent. The -S\n"
" flag also makes 'p4 interchanges' respect a stream's flow.\n"
"\n"
" The -F flag can be used with -S to force 'p4 interchanges' to ignore\n"
" a stream's expected flow. It can also force it to generate a branch\n"
" view based on a virtual stream; the mapping itself refers to the\n"
" underlying real stream.\n"
"\n"
};
ErrorId MsgHelp::HelpJobs = { ErrorOf( ES_HELP, 57, E_INFO, EV_NONE, 0 ),
"\n"
" jobs -- Display list of jobs\n"
"\n"
" p4 jobs [-e jobview -i -l -m max -r] [file[revRange] ...]\n"
" p4 jobs -R\n"
"\n"
" Lists jobs in the server. If a file specification is included, fixes\n"
" for submitted changelists affecting the specified files are listed.\n"
" The file specification can include wildcards and a revision range.\n"
" See 'p4 help revisions' for details about specifying revisions.\n"
"\n"
" The -e flag lists jobs matching the expression specified in the\n"
" jobview parameter. For a description of jobview syntax, see 'p4 help\n"
" jobview'.\n"
"\n"
" The -i flag includes any fixes made by changelists integrated into\n"
" the specified files.\n"
"\n"
" The -l flag produces long output with the full text of the job\n"
" descriptions.\n"
"\n"
" The -m max flag limits the output to the first 'max' jobs, ordered\n"
" by their job name.\n"
"\n"
" The -r flag sorts the jobs in reverse order (by job name).\n"
"\n"
" The -R flag rebuilds the jobs table and reindexes each job, which\n"
" is necessary after upgrading to 98.2. 'p4 jobs -R' requires that the\n"
" user be an operator or have 'super' access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpJobSpec = { ErrorOf( ES_HELP, 58, E_INFO, EV_NONE, 0 ),
"\n"
" jobspec -- Edit the job template\n"
"\n"
" p4 jobspec\n"
" p4 jobspec -o\n"
" p4 jobspec -i\n"
"\n"
" Jobspec edits the template that specifies the format of jobs.\n"
" This format is used by 'p4 job' when jobs are entered or updated,\n"
" and by 'p4 jobs' and 'p4 describe' when jobs are displayed.\n"
"\n"
" Jobspec brings up a form with the following fields:\n"
"\n"
" Fields: A list of the fields maintained for each job, one\n"
" line per field. Each line has five words: code, name,\n"
" data-type, len, and field-type.\n"
"\n"
" 'code' is a unique integer identifier for storing\n"
" the data of the field. Job codes must be between\n"
" 101 and 199.\n"
"\n"
" 'name' is the name of the field for the job.\n"
"\n"
" 'data-type' indicates the format of the field:\n"
"\n"
" word: a single word (any value)\n"
" date: a date/time field\n"
" select: one of a set of words\n"
" line: a one-liner\n"
" text: a block of text\n"
" bulk: text not indexed for 'p4 jobs -e'\n"
"\n"
" 'len' is the recommended character length of a\n"
" display box for the field. If 0, a text box is\n"
" assumed.\n"
"\n"
" 'field-type' indicates how to handle the setting of\n"
" the field:\n"
"\n"
" optional: no default, and not required to be present\n"
" default: default provided, still not required\n"
" required: default provided, value must be present\n"
" once: set once to the default and never changed\n"
" always: always set to the default when saving the\n"
" form, adding or deleting fixes with 'p4 fix'\n"
" or 'p4 changelist', or submitting a change\n"
" associated with the job with 'p4 submit'.\n"
"\n"
" Values: A list of 'select' fields and the values that the fields\n"
" can have. Each line has two words: the field name and\n"
" the values list, with individual values separated by\n"
" '/' (no spaces).\n"
"\n"
" Presets: A list of fields and their default values, for fields\n"
" whose 'setting' flag is other than 'optional'. Each\n"
" line has two words: the field name and the default\n"
" value. If the value has spaces, it must be enclosed\n"
" in double quotes. The following special defaults are\n"
" recognized:\n"
"\n"
" $user: the user entering the job\n"
" $now: the current date\n"
" $blank: the words '<enter description here>'\n"
"\n"
" The Preset for the job status field (code 102) has\n"
" a special syntax for providing a default fix status\n"
" for 'p4 fix' and 'p4 change' along with the default\n"
" status for new jobs:\n"
"\n"
" jobStatus,fix/fixStatus\n"
"\n"
" Otherwise the fixStatus is hardwired to 'closed'.\n"
"\n"
" Comments: text to be included at the top of each job specification,\n"
" to help the user fill out the form. Each line must begin\n"
" with the comment character '#'.\n"
"\n"
" The following field codes are reserved:\n"
"\n"
" code 101, required: the job name\n"
" code 102, optional: the job status\n"
" code 103, optional: the user who created the job\n"
" code 104, optional: the date the job was created\n"
" code 105, optional: the description\n"
"\n"
" If there is a job status field (102), 'p4 fix' and 'p4 change'\n"
" (of a submitted changelist) and 'p4 submit' (of a pending\n"
" changelist) will set the job's status to the fix's status for\n"
" each job associated with the change. If the fix's status is\n"
" the special value 'same', the job's status is left unchanged.\n"
"\n"
" Fields 102-105 are used by 'p4 describe' and 'p4 jobs' to display\n"
" a job summary. Missing fields are omitted from the summary.\n"
"\n"
" If field 105 is present, it is treated as a description,\n"
" which is used by 'p4 change' and 'p4 submit' to annotate the\n"
" list of jobs to be fixed by the changelist being created.\n"
"\n"
" If you change the jobspec after jobs have been created, note the\n"
" following limitations:\n"
"\n"
" Data is stored according to its code. Fields can be renamed\n"
" by keeping the same code. Removing a code can cause the\n"
" associated data stored for the code to become abandoned.\n"
"\n"
" Changing the definition of a code (for example, from 'text' to\n"
" 'word') can require users to correct jobs for the new format\n"
" during editing.\n"
"\n"
" The -o flag writes the job template to the standard output. The\n"
" user's editor is not invoked.\n"
"\n"
" The -i flag reads a job template from the standard input. The\n"
" user's editor is not invoked.\n"
"\n"
" 'p4 jobspec' requires 'admin' access, which is granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpLabel = { ErrorOf( ES_HELP, 59, E_INFO, EV_NONE, 0 ),
"\n"
" label -- Create or edit a label specification\n"
"\n"
" p4 label [-f -g -t template] name\n"
" p4 label -d [-f -g] name\n"
" p4 label -o [-t template] name\n"
" p4 label -i [-f -g]\n"
"\n"
" Create or edit a label. The name parameter is required. The\n"
" specification form is put into a temporary file and the editor\n"
" (configured by the environment variable $P4EDITOR) is invoked.\n"
"\n"
" The label specification form contains the following fields:\n"
"\n"
" Label: The label name (read only.)\n"
"\n"
" Owner: The user who created this label. A label can be owned\n"
" by a user, or owned by a group. Can be changed.\n"
"\n"
" Update: The date that this specification was last modified.\n"
"\n"
" Access: The date of the last 'labelsync' or use of '@label'\n"
" referencing this label.\n"
"\n"
" Description: A short description of the label (optional).\n"
"\n"
" Options: Flags to change the label behavior.\n"
"\n"
" locked Prevents users other than the label owner\n"
" unlocked from changing the specification. Prevents\n"
" the label from being deleted. Prevents the\n"
" owner from running 'p4 labelsync'. For a\n"
" loaded label, prevents 'p4 unload'.\n"
"\n"
" autoreload For a static label, indicates where label\n"
" noautoreload revisions are stored. Specify 'noautoreload'\n"
" to indicate that the revisions should be\n"
" stored in the db.label table. Specify\n"
" 'autoreload' to indicate that the revisions\n"
" should be stored in the unload depot.\n"
"\n"
" Revision: An optional revision specification for an automatic\n"
" label. Enclose in double quotes if it contains the\n"
" # (form comment) character. An automatic label can\n"
" be treated as a pure alias of a single revision\n"
" specification (excluding @label) provided that the\n"
" View mapping is empty.\n"
"\n"
" View: A mapping that selects files from the depot. The\n"
" default view selects all depot files. Only the left\n"
" side of the mapping is used for labels. Leave this\n"
" field blank when creating an automatic label as\n"
" a pure alias. See 'p4 help views'.\n"
"\n"
" ServerID: If set, restricts usage to the named server.\n"
" If unset, usage is allowed on any server.\n"
"\n"
" A label is a named collection of revisions. A label is either\n"
" automatic or static. An automatic label refers to the revisions\n"
" given in the View: and Revision: fields. A static label refers to\n"
" the revisions that are associated with the label using the 'p4 tag'\n"
" or 'p4 labelsync' commands. A static label cannot have a Revison:\n"
" field. See 'p4 help revisions' for information on using labels as\n"
" revision specifiers. \n"
"\n"
" Only the label owner can run 'p4 labelsync', and only if the label\n"
" is unlocked. A label without an owner can be labelsync'd by any user.\n"
"\n"
" Flag -d deletes the specified label. You cannot delete a locked label.\n"
" The -f flag forces the delete.\n"
"\n"
" The -o flag writes the label specification to standard output. The\n"
" user's editor is not invoked.\n"
"\n"
" The -i flag reads a label specification from standard input. The\n"
" user's editor is not invoked.\n"
"\n"
" The -t flag copies the view and options from the template label to\n"
" the new label.\n"
"\n"
" The -f flag forces the deletion of a label. By default, locked labels\n"
" can only be deleted by their owner. The -f flag also permits the\n"
" Last Modified date to be set. The -f flag requires 'admin' access,\n"
" which is granted by 'p4 protect'.\n"
"\n"
" The -g flag should be used on an Edge Server to update a global\n"
" label. Without -g, the label definition is visible only to users\n"
" of this Edge Server. Configuring rpl.labels.global=1 reverses this\n"
" default and causes this flag to have the opposite meaning.\n"
};
ErrorId MsgHelp::HelpLabels = { ErrorOf( ES_HELP, 60, E_INFO, EV_NONE, 0 ),
"\n"
" labels -- Display list of defined labels\n"
"\n"
" p4 labels [-t] [-u user] [[-e|-E] nameFilter -m max] [file[revrange]]\n"
" p4 labels [-t] [-u user] [[-e|-E] nameFilter -m max] [-a|-s serverID]\n"
" p4 labels -U\n"
"\n"
" Lists labels defined in the server.\n"
"\n"
" If files are specified, 'p4 labels' lists the labels that contain\n"
" those files. If you include a file specification, automatic labels\n"
" and labels with the 'autoreload' option set are omitted from the list.\n"
" If the file specification includes a revision range, 'p4 labels'\n"
" lists labels that contain the specified revisions.\n"
"\n"
" See 'p4 help revisions' for details about specifying revisions.\n"
"\n"
" The -t flag displays the time as well as the date.\n"
"\n"
" The -u user flag lists labels owned by the specified user.\n"
"\n"
" The -e nameFilter flag lists labels with a name that matches\n"
" the nameFilter pattern, for example: -e 'svr-dev-rel*'. The -e flag\n"
" uses the server's normal case-sensitivity rules. The -E flag makes\n"
" the matching case-insensitive, even on a case-sensitive server.\n"
"\n"
" The -m max flag limits output to the first 'max' number of labels.\n"
"\n"
" The -U flag lists unloaded labels (see 'p4 help unload').\n"
"\n"
" The -a and -s flags are useful in a distributed server installation\n"
" (see 'p4 help distributed') in order to see the names of local labels\n"
" stored on other Edge Servers. These flags are not allowed if the\n"
" command includes a file specification.\n"
"\n"
" The -a flag specifies that all labels should be displayed, not just\n"
" those that are bound to this server.\n"
"\n"
" The -s serverID flag specifies that only those labels bound to the\n"
" specified serverID should be displayed.\n"
"\n"
" On an Edge Server, if neither -s nor -a is specified, only those\n"
" local labels bound to this Edge Server are displayed. Labels created\n"
" on the Commit Server are global, and are also included in the output.\n"
};
ErrorId MsgHelp::HelpLabelsync = { ErrorOf( ES_HELP, 61, E_INFO, EV_NONE, 0 ),
"\n"
" labelsync -- Apply the label to the contents of the client workspace\n"
"\n"
" p4 labelsync [-a -d -g -n -q] -l label [file[revRange] ...]\n"
"\n"
" Labelsync causes the specified label to reflect the current contents\n"
" of the client. It records the revision of each file currently synced.\n"
" The label's name can subsequently be used in a revision specification\n"
" as @label to refer to the revision of a file as stored in the label.\n"
"\n"
" Without a file argument, labelsync causes the label to reflect the\n"
" contents of the whole client, by adding, deleting, and updating the\n"
" label. If a file is specified, labelsync updates the specified file.\n"
"\n"
" If the file argument includes a revision specification, that revision\n"
" is used instead of the revision synced by the client. If the specified\n"
" revision is a deleted revision, the label includes that deleted\n"
" revision. See 'p4 help revisions' for details about specifying\n"
" revisions.\n"
"\n"
" If the file argument includes a revision range specification,\n"
" only files selected by the revision range are updated, and the\n"
" highest revision in the range is used.\n"
"\n"
" The -a flag adds the specified file to the label.\n"
"\n"
" The -d deletes the specified file from the label, regardless of\n"
" revision.\n"
"\n"
" The -n flag previews the operation without altering the label.\n"
"\n"
" Only the owner of a label can run labelsync on that label. A label\n"
" that has its Options: field set to 'locked' cannot be updated. A\n"
" label without an owner can be labelsync'd by any user.\n"
"\n"
" The -q flag suppresses normal output messages. Messages regarding\n"
" errors or exceptional conditions are displayed.\n"
"\n"
" The -g flag should be used on an Edge Server to update a global\n"
" label. Note that in this case, the client should be a global client.\n"
" Configuring rpl.labels.global=1 reverses this default and causes this\n"
" flag to have the opposite meaning.\n"
};
ErrorId MsgHelp::HelpNetworkAddress = { ErrorOf( ES_HELP, 161, E_INFO, EV_NONE, 0 ),
"\n"
" When specifying the network address for a Perforce connection, use\n"
" the following syntax:\n"
"\n"
" prefix:host:port\n"
"\n"
" The prefix indicates whether this connection should be plaintext\n"
" or encrypted, and whether address resolution should prefer IPv4 or\n"
" IPv6 addresses. Specify one of the following prefix values:\n"
"\n"
" tcp,tcp4,tcp6,tcp46,tcp64,ssl,ssl4,ssl6,ssl46,ssl64\n"
"\n"
" The default prefix value is 'tcp'.\n"
"\n"
" The host portion of the address can be either a resolvable host name,\n"
" or an IP address in either IPv4 or IPv6 format. Specify an IPv4\n"
" address as NNN.NNN.NNN.NNN. Specify an IPv6 address in the format\n"
" described by RFC 2373 and RFC 2372: [x:x:x:x:x:x:x:x]; note that the\n"
" use of the brackets around the address removes the ambiguity about\n"
" where the prefix and port portions of the Perforce network address\n"
" begin and end.\n"
"\n"
" The default host name is 'perforce'.\n"
"\n"
" The port number should be an integer between 1 and 65535. Note that\n"
" your operating system may enforce a smaller range of values, and may\n"
" require special permission for certain values (i.e., values less than\n"
" 1025 may require root permission on Unix)\n"
"\n"
" The default port number is 1666.\n"
"\n"
};
ErrorId MsgHelp::HelpLdap = { ErrorOf( ES_HELP, 172, E_INFO, EV_NONE, 0 ),
"\n"
" ldap -- Create, modify, delete or test an LDAP configuration\n"
"\n"
" p4 ldap config\n"
" p4 ldap -d config\n"
" p4 ldap -o config\n"
" p4 ldap -i\n"
" p4 ldap -t username config\n"
"\n"
" An LDAP configuration defines an Active Directory or other LDAP server\n"
" to which the Perforce Server can connect in order to authenticate\n"
" users who have AuthMethod set to 'ldap'. In addition to the host and\n"
" port of the LDAP server, this configuration defines how the\n"
" authenticationshould happen, by picking one of three bind methods:\n"
"\n"
" Simple:\n"
" This authentication method takes a template DN and substitutes %%user%%\n"
" placeholders with the user's userId to produce the user's DN which the\n"
" Perforce Server will then attempt to bind against, validating the\n"
" user's password. An example of such a template could look like this:\n"
"\n"
" uid=%%user%%,ou=users,dc=example,dc=org\n"
"\n"
" Search:\n"
" This authentication method uses an LDAP search query to locate the\n"
" appropriate user record. It requires a known base DN for the search\n"
" and an LDAP search query (which should make use of the %%user%%\n"
" placeholder). It may also require the full DN and password of a known\n"
" read-only entity in the directory in order to perform the search.\n"
" An example base DN and LDAP query might look like this:\n"
"\n"
" Base DN: ou=users,dc=example,dc=org\n"
" LDAP query: (uid=%%user%%)\n"
"\n"
" SASL:\n"
" This authentication method defers the user search to the LDAP server\n"
" and does not require a DN to be discovered before a bind is attempted.\n"
" A specific realm may be provided if the LDAP server has multiple\n"
" realms (or domains in the case of Active Directory). Additionally, if\n"
" 'realminusername' option is enabled, the realm will be separated from\n"
" the useranme if that username is in either UNC (realm\\user) or\n"
" UPN (user@realm) formats.\n"
"\n"
" SASL is generally the easiest method to configure if the LDAP server\n"
" supports SASL DIGEST-MD5.\n"
"\n"
"\n"
" To enable LDAP authentication, one or more LDAP configurations must\n"
" exist and be assigned a priority with the 'auth.ldap.order.N'\n"
" configurable. The server will need to be restarted before LDAP\n"
" authentication will be enabled. Note: LDAP authentication implies at\n"
" least security level 3; all must use ticket based authentication (see\n"
" 'p4 login') and any users authenticating against the Perforce database\n"
" must have strong passwords.\n"
"\n"
" If more than one 'auth.ldap.order.N' configurable is set to a valid\n"
" configuration, each one is considered enabled and a login by a user\n"
" with AuthMethod set to ldap will cause each enabled configuration\n"
" to be checked in order until the user's credentials are validated or\n"
" the user record is found but the credentials are rejected.\n"
"\n"
" When LDAP authentication is enabled and the 'auth.default.method'\n"
" configurable is set to 'ldap' and the 'auth.ldap.userautocreate'\n"
" configureable is set to 1, any user who is able to authenticate will be\n"
" created and will consume a license, regardless of whether they are\n"
" granted access by 'p4 protect'. If the 'getattrs' option is enabled,\n"
" the new user's Fullname and Email fields will be populated from the\n"
" user's record in the directory using the values in the LDAP attributes\n"
" specified in the 'AttributeName' and 'AttributeEmail' fields. If the\n"
" 'BindMethod' is 'SASL', this feature also requires the 'SearchBaseDN'\n"
" and 'SearchFilter' fields to be configured.\n"
"\n"
" In addition to the bind methods, user access can be restricted only to\n"
" those who belong to a particular group within the directory. This is\n"
" achieved by performing an LDAP search as the user who has just been\n"
" authenticated, and checking that there is at least one record returned\n"
" from that search. This search requires a base DN and a LDAP query that\n"
" contains the %%user%% placeholder. An example base DN and LDAP query to\n"
" check that the user is in a group named 'perforce' might look like:\n"
"\n"
" Base DN: ou=groups,dc=example,dc=org\n"
" LDAP query: (&(cn=perforce)(memberUid=%%user%%))\n"
"\n"
"\n"
" The LDAP configuration spec contains the following fields:\n"
"\n"
" Name: The LDAP configuration name.\n"
"\n"
" Host: The FQDN of the directory server.\n"
"\n"
" Port: The port number at which to connect to the directory\n"
" server.\n"
"\n"
" Encryption: The encryption method to use when connecting to the\n"
" directory server. Options are: 'none', 'ssl' and 'tls'.\n"
"\n"
" BindMethod: The bind method to use with this directory. Options\n"
" are: 'simple', 'search' and 'sasl'.\n"
"\n"
" Options: Modifiers to the behavior of the LDAP integration,\n"
" specific to this configuration. Options are:\n"
" [no]downcase - should 'p4 ldapsync' downcase\n"
" usernames from the directory.\n"
" [no]getattrs - should the Fullname and Email fields\n"
" for users created by 'p4 login'\n"
" be populated from the directory.\n"
" [no]realminusername - take the realm from the SASL\n"
" username if it is in UNC or\n"
" UPN format.\n"
"\n"
" SimplePattern: This is the DN which will be used to bind against to\n"
" validate the user's credentials. The %%user%% placeholder\n"
" will be replaced with the user's userId. This field\n"
" only applies to the 'simple' bind method.\n"
"\n"
" SearchBaseDN: The DN from which to start the search for the user object.\n"
"\n"
" SearchFilter: The LDAP query filter to use to identify the user object\n"
" which will be used to bind against. The %%user%%\n"
" placeholder will be replaced with the user's userId.\n"
"\n"
" SearchScope: The scope to use when searching for the user records.\n"
" Options are:\n"
" baseonly - Just the BaseDN object\n"
" children - The BaseDN and its direct children\n"
" subtree - The BaseDN and all objects below it\n"
"\n"
" SearchBindDN: The DN to bind against in order to search the directory.\n"
"\n"
" SearchPasswd: The password for the BindDN record.\n"
"\n"
" SaslRealm: The optional realm to use when authenticating the user\n"
" via SASL.This field applies only to the 'sasl' bind\n"
" method.\n"
"\n"
" GroupSearchFilter: The filter to use for the group search.\n"
"\n"
" GroupBaseDN: The search base for performing the group search. If\n"
" unset this will default to the SearchBaseDN.\n"
"\n"
" GroupSearchScope: The scope to use when performing the group search.\n"
" Options are:\n"
" baseonly - Just the BaseDN object\n"
" children - The BaseDN and its direct children\n"
" subtree - The BaseDN and all objects below it\n"
"\n"
" AttributeUid: The name of the attribute in the user object that\n"
" contains the user's UID.\n"
"\n"
" AttributeName: The name(s) of the attribute(s) in the user object\n"
" that contains the user's full name. If multiple\n"
" attributes are required to form the full name,\n"
" specifiy each one surrounded by %% symbols such\n"
" that expanding them forms the user's full name."
"\n"
" AttributeEmail: The name of the attribute in the directory's user\n"
" object that contain the users' email addresses.\n"
"\n"
"\n"
" The GroupSearchFilter field is only needed if users must also belong\n"
" to a group within the directory. The other two group fields may also\n"
" be used by the 'p4 ldapsync' command.\n"
"\n"
"\n"
" The -d flag deletes the named LDAP configuration.\n"
"\n"
" The -o flag writes the LDAP configuration to standard output. The\n"
" user's editor is not invoked.\n"
"\n"
" The -i flag causes a LDAP configuration to be read from the standard\n"
" input. The user's editor is not invoked.\n"
"\n"
" The -t flag specifies a username to attempt authentication against\n"
" the named LDAP configuration. This will return a success message or an\n"
" error message that will contain more detailed information when\n"
" available.\n"
"\n"
" 'p4 ldap' requires 'super' access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpLdaps = { ErrorOf( ES_HELP, 173, E_INFO, EV_NONE, 0 ),
"\n"
" ldaps -- Display list of LDAP configurations\n"
"\n"
" p4 ldaps [-A]\n"
" p4 ldaps -t username\n"
"\n"
" Lists LDAP configurations. (See 'p4 help ldap'.)\n"
"\n"
" The -A flag limits the results to a priority ordered list of\n"
" active configurations.\n"
"\n"
" The -t flag specifies a username to attempt authentication against\n"
" each active configuration (all active configurations will be tested).\n"
"\n"
" 'p4 ldaps' requires 'super' access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpLdapSync = { ErrorOf( ES_HELP, 187, E_INFO, EV_NONE, 0 ),
"\n"
" ldapsync -- Synchronizes Perforce group memberships LDAP groups\n"
"\n"
" p4 ldapsync -g [ -n ] [ -i <N> ] [ group ... ]\n"
"\n"
" Updates the users lists in Perforce groups to match the lists of members\n"
" in LDAP groups when the -g flag is specified. If one or more group\n"
" names are provided, only those groups are updated; if no group names\n"
" are provided, then all groups with LDAP configurations will be updated.\n"
"\n"
" To keep groups with LDAP configurations in sync with their LDAP\n"
" counterparts, ldapsync can be set as a startup command, and will run\n"
" in the background.\n"
"\n"
" The -n flag previews the operations without altering the groups.\n"
"\n"
" The -i flag causes the command to automatically repeat its action\n"
" every N seconds. If -i is not specified, the command runs once,\n"
" then exits.\n"
"\n"
" 'p4 ldapsync' requires 'super' access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpLegal = { ErrorOf( ES_HELP, 151, E_INFO, EV_NONE, 0 ),
"\n"
" For Perforce legal and license information see:\n"
" http://www.perforce.com/purchase/license-agreements\n"
"\n"
" OpenSSL:\n"
" This product includes cryptographic software written by Eric Young\n"
" (eay@cryptsoft.com).\n"
" This product includes software written by Tim Hudson (tjh@cryptsoft.com).\n"
"\n"
" OpenSSL License\n"
" ---------------\n"
" \n"
" /* ====================================================================\n"
" * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.\n"
" *\n"
" * Redistribution and use in source and binary forms, with or without\n"
" * modification, are permitted provided that the following conditions\n"
" * are met:\n"
" *\n"
" * 1. Redistributions of source code must retain the above copyright\n"
" * notice, this list of conditions and the following disclaimer.\n"
" *\n"
" * 2. Redistributions in binary form must reproduce the above copyright\n"
" * notice, this list of conditions and the following disclaimer in\n"
" * the documentation and/or other materials provided with the\n"
" * distribution.\n"
" *\n"
" * 3. All advertising materials mentioning features or use of this\n"
" * software must display the following acknowledgment:\n"
" * \"This product includes software developed by the OpenSSL Project\n"
" * for use in the OpenSSL Toolkit. (http://www.openssl.org/)\" \n"
" *\n"
" * 4. The names \"OpenSSL Toolkit\" and \"OpenSSL Project\" must not be used to\n"
" * endorse or promote products derived from this software without\n"
" * prior written permission. For written permission, please contact\n"
" * openssl-core@openssl.org.\n"
" *\n"
" * 5. Products derived from this software may not be called \"OpenSSL\"\n"
" * nor may \"OpenSSL\" appear in their names without prior written\n"
" * permission of the OpenSSL Project.\n"
" *\n"
" * 6. Redistributions of any form whatsoever must retain the following\n"
" * acknowledgment:\n"
" * \"This product includes software developed by the OpenSSL Project\n"
" * for use in the OpenSSL Toolkit (http://www.openssl.org/)\"\n"
" *\n"
" * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY\n"
" * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n"
" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n"
" * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR\n"
" * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n"
" * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n"
" * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n"
" * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n"
" * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n"
" * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n"
" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n"
" * OF THE POSSIBILITY OF SUCH DAMAGE.\n"
" * ====================================================================\n"
" *\n"
" * This product includes cryptographic software written by Eric Young\n"
" * (eay@cryptsoft.com). This product includes software written by Tim\n"
" * Hudson (tjh@cryptsoft.com).\n"
" *\n"
" */\n"
" \n"
" Original SSLeay License\n"
" -----------------------\n"
" \n"
" /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)\n"
" * All rights reserved.\n"
" *\n"
" * This package is an SSL implementation written\n"
" * by Eric Young (eay@cryptsoft.com).\n"
" * The implementation was written so as to conform with Netscapes SSL.\n"
" *\n"
" * This library is free for commercial and non-commercial use as long as\n"
" * the following conditions are adhered to. The following conditions\n"
" * apply to all code found in this distribution, be it the RC4, RSA,\n"
" * lhash, DES, etc., code; not just the SSL code. The SSL documentation\n"
" * included with this distribution is covered by the same copyright terms\n"
" * except that the holder is Tim Hudson (tjh@cryptsoft.com).\n"
" *\n"
" * Copyright remains Eric Young's, and as such any Copyright notices in\n"
" * the code are not to be removed.\n"
" * If this package is used in a product, Eric Young should be given attribution\n"
" * as the author of the parts of the library used.\n"
" * This can be in the form of a textual message at program startup or\n"
" * in documentation (online or textual) provided with the package.\n"
" *\n"
" * Redistribution and use in source and binary forms, with or without\n"
" * modification, are permitted provided that the following conditions\n"
" * are met:\n"
" * 1. Redistributions of source code must retain the copyright\n"
" * notice, this list of conditions and the following disclaimer.\n"
" * 2. Redistributions in binary form must reproduce the above copyright\n"
" * notice, this list of conditions and the following disclaimer in the\n"
" * documentation and/or other materials provided with the distribution.\n"
" * 3. All advertising materials mentioning features or use of this software\n"
" * must display the following acknowledgement:\n"
" * \"This product includes cryptographic software written by\n"
" * Eric Young (eay@cryptsoft.com)\"\n"
" * The word 'cryptographic' can be left out if the routines from the library\n"
" * being used are not cryptographic related :-) .\n"
" * 4. If you include any Windows specific code (or a derivative thereof) from\n"
" * the apps directory (application code) you must include an acknowledgement:\n"
" * \"This product includes software written by Tim Hudson (tjh@cryptsoft.com)\"\n"
" *\n"
" * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND\n"
" * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n"
" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"
" * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n"
" * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
" * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n"
" * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n"
" * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n"
" * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n"
" * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n"
" * SUCH DAMAGE.\n"
" *\n"
" * The licence and distribution terms for any publicly available version or\n"
" * derivative of this code cannot be changed. i.e. this code cannot simply be\n"
" * copied and put under another distribution licence\n"
" * [including the GNU Public Licence.]\n"
" */\n"
" \n"
" OpenLDAP:\n"
" -----------------------\n"
" \n"
" Copyright 1998-2014 The OpenLDAP Foundation\n"
" All rights reserved.\n"
" \n"
" Redistribution and use in source and binary forms, with or without\n"
" modification, are permitted only as authorized by the OpenLDAP\n"
" Public License.\n"
" \n"
" A copy of this license is available in the file LICENSE in the\n"
" top-level directory of the distribution or, alternatively, at\n"
" <http://www.OpenLDAP.org/license.html>.\n"
" \n"
" OpenLDAP is a registered trademark of the OpenLDAP Foundation.\n"
" \n"
" Individual files and/or contributed packages may be copyright by\n"
" other parties and/or subject to additional restrictions.\n"
" \n"
" This work is derived from the University of Michigan LDAP v3.3\n"
" distribution. Information concerning this software is available\n"
" at <http://www.umich.edu/~dirsvcs/ldap/ldap.html>.\n"
" \n"
" This work also contains materials derived from public sources.\n"
" \n"
" Additional information about OpenLDAP can be obtained at\n"
" <http://www.openldap.org/>.\n"
" \n"
" ---\n"
" \n"
" Portions Copyright 1998-2012 Kurt D. Zeilenga.\n"
" Portions Copyright 1998-2006 Net Boolean Incorporated.\n"
" Portions Copyright 2001-2006 IBM Corporation.\n"
" All rights reserved.\n"
" \n"
" Redistribution and use in source and binary forms, with or without\n"
" modification, are permitted only as authorized by the OpenLDAP\n"
" Public License.\n"
" \n"
" ---\n"
" \n"
" Portions Copyright 1999-2008 Howard Y.H. Chu.\n"
" Portions Copyright 1999-2008 Symas Corporation.\n"
" Portions Copyright 1998-2003 Hallvard B. Furuseth.\n"
" Portions Copyright 2007-2011 Gavin Henry.\n"
" Portions Copyright 2007-2011 Suretec Systems Ltd.\n"
" All rights reserved.\n"
" \n"
" Redistribution and use in source and binary forms, with or without\n"
" modification, are permitted provided that this notice is preserved.\n"
" The names of the copyright holders may not be used to endorse or\n"
" promote products derived from this software without their specific\n"
" prior written permission. This software is provided ``as is''\n"
" without express or implied warranty.\n"
" \n"
" ---\n"
" \n"
" Portions Copyright (c) 1992-1996 Regents of the University of Michigan.\n"
" All rights reserved.\n"
" \n"
" Redistribution and use in source and binary forms are permitted\n"
" provided that this notice is preserved and that due credit is given\n"
" to the University of Michigan at Ann Arbor. The name of the\n"
" University may not be used to endorse or promote products derived\n"
" from this software without specific prior written permission. This\n"
" software is provided ``as is'' without express or implied warranty.\n"
" \n"
" \n"
" OpenLDAP License\n"
" -----------------------\n"
" \n"
" The OpenLDAP Public License\n"
" Version 2.8, 17 August 2003\n"
" \n"
" Redistribution and use of this software and associated documentation\n"
" (\"Software\"), with or without modification, are permitted provided\n"
" that the following conditions are met:\n"
" \n"
" 1. Redistributions in source form must retain copyright statements\n"
" and notices,\n"
" \n"
" 2. Redistributions in binary form must reproduce applicable copyright\n"
" statements and notices, this list of conditions, and the following\n"
" statements and notices, this list of conditions, and the following\n"
" disclaimer in the documentation and/or other materials provided\n"
" with the distribution, and\n"
" \n"
" 3. Redistributions must contain a verbatim copy of this document.\n"
" \n"
" The OpenLDAP Foundation may revise this license from time to time.\n"
" Each revision is distinguished by a version number. You may use\n"
" this Software under terms of this license revision or under the\n"
" terms of any subsequent revision of the license.\n"
" \n"
" THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS\n"
" CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,\n"
" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\n"
" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n"
" SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)\n"
" OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,\n"
" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n"
" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n"
" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n"
" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n"
" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\n"
" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n"
" POSSIBILITY OF SUCH DAMAGE.\n"
" \n"
" The names of the authors and copyright holders must not be used in\n"
" advertising or otherwise to promote the sale, use or other dealing\n"
" in this Software without specific, written prior permission. Title\n"
" to copyright in this Software shall at all times remain with copyright\n"
" holders.\n"
" \n"
" OpenLDAP is a registered trademark of the OpenLDAP Foundation.\n"
" \n"
" Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,\n"
" California, USA. All Rights Reserved. Permission to copy and\n"
" distribute verbatim copies of this document is granted.\n"
" \n"
" \n"
" Cyrus SASL License\n"
" -----------------------\n"
" \n"
" /* CMU libsasl\n"
" * Tim Martin\n"
" * Rob Earhart\n"
" * Rob Siemborski\n"
" */\n"
" /* \n"
" * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved.\n"
" *\n"
" * Redistribution and use in source and binary forms, with or without\n"
" * modification, are permitted provided that the following conditions\n"
" * are met:\n"
" *\n"
" * 1. Redistributions of source code must retain the above copyright\n"
" * notice, this list of conditions and the following disclaimer. \n"
" *\n"
" * 2. Redistributions in binary form must reproduce the above copyright\n"
" * notice, this list of conditions and the following disclaimer in\n"
" * the documentation and/or other materials provided with the\n"
" * distribution.\n"
" *\n"
" * 3. The name \"Carnegie Mellon University\" must not be used to\n"
" * endorse or promote products derived from this software without\n"
" * prior written permission. For permission or any other legal\n"
" * details, please contact \n"
" * Office of Technology Transfer\n"
" * Carnegie Mellon University\n"
" * 5000 Forbes Avenue\n"
" * Pittsburgh, PA 15213-3890\n"
" * (412) 268-4387, fax: (412) 268-7395\n"
" * tech-transfer@andrew.cmu.edu\n"
" *\n"
" * 4. Redistributions of any form whatsoever must retain the following\n"
" * acknowledgment:\n"
" * \"This product includes software developed by Computing Services\n"
" * at Carnegie Mellon University (http://www.cmu.edu/computing/).\"\n"
" *\n"
" * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO\n"
" * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n"
" * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE\n"
" * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n"
" * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN\n"
" * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING\n"
" * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n"
" */\n"
"\n"
};
ErrorId MsgHelp::HelpLicense = { ErrorOf( ES_HELP, 101, E_INFO, EV_NONE, 0 ),
"\n"
" license -- Update or display the license file\n"
"\n"
" p4 license -o\n"
" p4 license -i\n"
" p4 license -u\n"
"\n"
" Update the Perforce license file. This command requires a valid\n"
" license file in the Perforce root directory. Typically this command\n"
" lets an administrator add extra licensed users to the Perforce server\n"
" without having to shut the server down and copy the license file to\n"
" the server root.\n"
"\n"
" Most new license files obtained from Perforce can be installed with\n"
" this command, unless the server's IP address or port has changed.\n"
" In that case, stop the server, copy the new license file to the root,\n"
" and restart the server.\n"
"\n"
" The -o flag writes the license file to the standard output.\n"
"\n"
" The -i flag reads a license file from the standard input.\n"
"\n"
" The -u flag reports the license limits and how many entities are in\n"
" use towards the limits.\n"
"\n"
" This command requires 'super' access (or 'admin' for '-u'),\n"
" which is granted by 'p4 protect'.\n"
"\n"
" **********************************************************************\n"
" When using the free version of the server (no license file) the server\n"
" is limited to 20 users and 20 workspaces, or unlimited users and\n"
" workspaces when the repository has less than 1,000 files\n"
" **********************************************************************\n"
};
ErrorId MsgHelp::HelpList = { ErrorOf( ES_HELP, 147, E_INFO, EV_NONE, 0 ),
"\n"
" list -- Create a temporary list of files that can be used as a label\n"
"\n"
" p4 list [ -l label ] [ -C ] [ -M ] file[revRange] ...\n"
" p4 list -l label -d [ -M ]\n"
"\n"
" List builds an in-memory temporary list of files that can be used\n"
" as a label in any command that can take a label. The list only lasts\n"
" as long as the connected session, for example a temporary list created\n"
" in one 'p4' command line request will not be available to a subsequent\n"
" 'p4' command that references the label.\n"
"\n"
" By default, the head revision is listed. If the file argument\n"
" specifies a revision, then all files at that revision are listed.\n"
" If the file argument specifies a revision range, the highest revision\n"
" in the range is used for each file. For details about specifying\n"
" revisions, see 'p4 help revisions'.\n"
"\n"
" The -l flag specifies the name of the temporary label that should be\n"
" used to access the list. In the event that a label with that name\n"
" already exists, the in-memory name has precedence over the stored one.\n"
" Without the '-l' option the list command assigns a unique name to the\n"
" temporary list and returns the name as output.\n"
"\n"
" The -d flag specifies that the named list should be deleted, freeing\n"
" the memory used by that list.\n"
"\n"
" The -C flag limits any depot paths to those that can be mapped through\n"
" the client workspace.\n"
"\n"
" The -M flag can be specified when issuing the list command against a\n"
" forwarding replica; in this case, it indicates that the list command\n"
" should not be processed by the replica, but should instead be\n"
" forwarded to the master server.\n"
};
ErrorId MsgHelp::HelpLock = { ErrorOf( ES_HELP, 62, E_INFO, EV_NONE, 0 ),
"\n"
" lock -- Lock an open file to prevent it from being submitted\n"
"\n"
" p4 lock [-c changelist#] [file ...]\n"
" p4 lock -g -c changelist#\n"
"\n"
" The specified files are locked in the depot, preventing any user\n"
" other than the current user on the current client from submitting\n"
" changes to the files. If a file is already locked, the lock request\n"
" is rejected.\n"
"\n"
" The -c flag and the file specification limit the files to be locked.\n"
" If no file names are specified and no changelist is specified, all\n"
" open files are locked.\n"
"\n"
" The -g flag is used to lock the files locally and globally at the\n"
" Commit Server in a distributed environment. It may only be run from\n"
" an Edge Server, and must be used with the '-c' flag with a numbered\n"
" changelist. These locks are removed by the 'unlock' or any\n"
" 'submit' command for that change.\n"
"\n"
" If a changelist is specified, only those files open in that\n"
" changelist are locked.\n"
"\n"
" If a file specification is given, only the matching files are locked.\n"
"\n"
" If both the -c flag and a file specification are provided, only the\n"
" matching files in the specified changelist are locked.\n"
};
ErrorId MsgHelp::HelpLogger = { ErrorOf( ES_HELP, 63, E_INFO, EV_NONE, 0 ),
"\n"
" logger -- Report changed jobs and changelists\n"
"\n"
" p4 logger [-c sequence#] [-t counter]\n"
"\n"
" Dumps the event log, which notes updates to changes and jobs, for\n"
" use with defect tracking integration. The event log is enabled\n"
" by setting the counter 'logger' to 0 using the 'p4 counter' command.\n"
" Each event is assigned a sequence number. The presence of an entry\n"
" in the log doesn't guarantee that the named entity has changed.\n"
"\n"
" If a sequence# is specified using the -c flag, only events after that\n"
" number are listed. If a counter is given using the -t flag, only events\n"
" after the number of that counter are listed. If both are specified,\n"
" the counter is updated to the sequence number and nothing is output.\n"
" If the update brings the counter to the highest sequence number in\n"
" the log, the log is cleared.\n"
"\n"
" Important: 'p4 logger' is not intended for end users. It is used by\n"
" P4DTG to help propagate information to an external defect tracking\n"
" system.\n"
"\n"
" 'p4 logger -c' requires 'review' access, which is granted by 'p4\n"
" protect'.\n"
"\n"
" In a distributed installation, 'p4 logger' commands should be issued\n"
" to the Commit Server, not to an Edge Server.\n"
};
ErrorId MsgHelp::HelpLogin = { ErrorOf( ES_HELP, 89, E_INFO, EV_NONE, 0 ),
"\n"
" login -- Log in to Perforce by obtaining a session ticket\n"
"\n"
" p4 login [-a -p] [-r <remotespec>] [-h <host>] [user]\n"
" p4 login [-s] [-r <remotespec>]\n"
"\n"
" The login command enables a user to access Perforce until the session\n"
" expires or the user logs out.\n"
"\n"
" When a user logs in to Perforce, they are prompted for a password\n"
" If they enter the correct password, they are issued a ticket. The\n"
" ticket expires when the default timeout value has been reached and\n"
" is valid only for the host machine where the 'login' command was\n"
" executed (see below for exception).\n"
"\n"
" The ticket can be used anywhere that a password can be used.\n"
"\n"
" Example: p4 -P <ticket value> changes -m1\n"
"\n"
" The -a flag causes the server to issue a ticket that is valid on all\n"
" host machines.\n"
"\n"
" The -h flag causes the server to issue a ticket that is valid on the\n"
" specified host (IP address). This flag is typically used together\n"
" with the -p flag to acquire a ticket that can be used on a different\n"
" machine.\n"
"\n"
" The -p flag displays the ticket, but does not store it on the client\n"
" machine.\n"
"\n"
" The -r flag causes the server to forward the login to the server\n"
" referenced in the the specified remote specification. If a RemoteUser\n"
" is set in the remote specification, the login will be for that user.\n"
" Specifying a host or a username is not allowed when logging into a\n"
" remote server.\n"
"\n"
" The -s flag displays the status of the current ticket (if there is\n"
" one).\n"
"\n"
" Specifying a username as an argument to 'p4 login' requires 'super'\n"
" access, which is granted by 'p4 protect'. In this case, 'p4 login'\n"
" does not prompt for the password (you must already be logged in).\n"
};
ErrorId MsgHelp::HelpLogout = { ErrorOf( ES_HELP, 90, E_INFO, EV_NONE, 0 ),
"\n"
" logout -- Log out from Perforce by removing or invalidating a ticket.\n"
"\n"
" p4 logout [-a] [user]\n"
"\n"
" The logout command removes the ticket on the client. To resume using\n"
" Perforce, the user must log in again.\n"
"\n"
" If you are logged in to Perforce from more than one machine, you can\n"
" log out of Perforce from all machines from which you were logged in\n"
" by specifying the -a flag. The -a flag invalidates the ticket on the\n"
" server. All of your Perforce tickets are invalidated and you are\n"
" logged out.\n"
" \n"
" Specifying a username as an argument to 'p4 logout' requires 'super'\n"
" access, which is granted by 'p4 protect'. Note that the '-a' flag\n"
" must be used to effectively log out a user who has a valid ticket on\n"
" another machine.\n"
};
ErrorId MsgHelp::HelpMerge = { ErrorOf( ES_HELP, 134, E_INFO, EV_NONE, 0 ),
"\n"
" merge -- Merge one set of files into another \n"
"\n"
" p4 merge [options] [-F] [--from stream] [toFile][revRange]\n"
" p4 merge [options] fromFile[revRange] toFile\n"
"\n"
" options: -c changelist# -m max -n -Ob -q\n"
"\n"
" 'p4 merge' merges changes from one set of files (the 'source') into \n"
" another (the 'target'). It is a simplified form of the 'p4 integrate'\n"
" command, similar to 'p4 integrate -Rbd -Or'.\n"
"\n"
" Using the client workspace as a staging area, 'p4 merge' schedules all\n"
" affected target files to be resolved per changes in the source.\n"
" Target files outside of the current client view are not affected.\n"
" Source files need not be within the client view.\n"
"\n"
" 'p4 resolve' must be used to resolve all changes. 'p4 submit' commits\n"
" merged files to the depot. Unresolved files may not be submitted.\n"
" Merged files can be shelved with 'p4 shelve' and abandoned with\n"
" 'p4 revert'. The commands 'p4 integrated' and 'p4 filelog' display\n"
" merge history.\n"
"\n"
" When 'p4 merge' schedules a workspace file to be resolved, it leaves\n"
" it read-only. 'p4 resolve' can operate on a read-only file; for \n"
" other pre-submit changes, 'p4 edit' must be used to make the file \n"
" writable.\n"
"\n"
" By default, 'p4 merge' merges changes into the current stream from its\n"
" parent, or from another stream specified by the --from flag. The\n"
" source and target can also be specified on the command line as a\n"
" pair of file paths. More complex merge mappings can be specified\n"
" via branchspecs as with 'p4 integrate' (see 'p4 help integrate').\n"
"\n"
" Each file in the target is mapped to a file in the source. Mapping \n"
" adjusts automatically for files that have been moved or renamed, as\n"
" long as 'p4 move' was used to move/rename files. The scope of source\n"
" and target file sets must include both old-named and new-named files\n"
" for mappings to be adjusted. Moved source files may schedule moves \n"
" to be resolved in target files. \n"
"\n"
" revRange is a revision or a revision range that limits the span of\n"
" source history to be probed for unintegrated revisions. For details\n"
" about revision specifiers, see 'p4 help revisions'.\n"
"\n"
" The -F flag can be used to force merging against a stream's expected\n"
" flow. It can also force the generation of a branch view based on a\n"
" virtual stream; the mapping itself refers to the underlying real\n"
" stream.\n"
"\n"
" The -Ob flag causes the base revision (if any) to be displayed along\n"
" with each scheduled resolve.\n"
"\n"
" The -q flag suppresses normal output messages. Messages regarding\n"
" errors or exceptional conditions are displayed.\n"
"\n"
" Merging is not supported for files with propagating attributes\n"
" from an edge server in a distributed environment. Even if the\n"
" merge command succeeds, the required subsequent resolve command\n"
" will fail.\n"
};
ErrorId MsgHelp::HelpMerge3 = { ErrorOf( ES_HELP, 98, E_INFO, EV_NONE, 0 ),
"\n"
" merge3 -- three-way file merge (unsupported)\n"
"\n"
" p4 merge3 [-db -dw -dl -r -t -v] base leg1 leg2\n"
"\n"
" Performs a three-way merge of the specified files and writes the\n"
" results to standard output. This command is implemented on the\n"
" client and requires file names to be specified using client syntax.\n"
" This command is used to support Perforce's graphical merge tools.\n"
"\n"
" The -db, -dw, -dl, -t, and -v flags are the same as in 'p4 resolve'.\n"
"\n"
" -r formats the output from a special one to one more like\n"
" 'p4 resolve'.\n"
};
ErrorId MsgHelp::HelpMonitor = { ErrorOf( ES_HELP, 88, E_INFO, EV_NONE, 0 ),
"\n"
" monitor -- Display Perforce process information\n"
"\n"
" p4 monitor show [-a -l -e -L -s R|T|P|B|F|I ]\n"
" p4 monitor terminate [id]\n"
" p4 monitor clear [id | all]\n"
" p4 monitor pause [id]\n"
" p4 monitor resume [id]\n"
"\n"
" Monitor displays running p4 processes. Monitor tracks the Perforce\n"
" processes using a dedicated table. This table is constantly updated,\n"
" so there is a potential minor impact on server performance. To enable\n"
" this command, set the monitor configurable as follows: \n"
"\n"
" To monitor active commands, set the configurable to 1.\n"
"\n"
" To monitor idle connections and active commands, set the\n"
" configurable to 2.\n"
"\n"
" To monitor idle connections stuck at Init(), idle connections\n"
" and active commands, set the configurable to 3.\n"
"\n"
" To monitor idle connections and active commands, including a list\n"
" of the tables locked by the command for more than 1 second, set\n"
" the configurable to 5.\n"
"\n"
" To monitor idle connections and active commands, including a list\n"
" of the tables locked by the command for more than 1 second, with\n"
" lock wait times included in the lock information, set the\n"
" configurable to 10.\n"
"\n"
" To monitor idle connections and active commands, including a list\n"
" of the tables locked by the command for any duration, with\n"
" lock wait times included in the lock information, set the\n"
" configurable to 25.\n"
"\n"
" Changes to the monitor configurable affect all new p4 processes that\n"
" connect to the server; restarting the server is not required.\n"
"\n"
" 'p4 monitor show' displays current process information. For each\n"
" process, a single line of output lists the process ID, status,\n"
" owner, elapsed time in HH:MM:SS format, and command. The status\n"
" values are: [R]unning, [T]erminated, [P]aused, [B]ackground,\n"
" [F]inish, or [I]dle. The Background and Finish statuses occur only in\n"
" replica servers.\n"
"\n"
" The following flags require that the user be an operator or have\n"
" 'super' access:\n"
"\n"
" The -a flag includes the command args.\n"
"\n"
" The -e flag includes the command environment. For each process,\n"
" client application (if known), host address and client name are\n"
" displayed.\n"
"\n"
" The -l flag displays long output, including the full username and\n"
" argument list.\n"
"\n"
" The -L flag includes file locking information, and requires that\n"
" either the monitor configurable has been set as described above,\n"
" or the monitor.lsof configurable has been set to enable the\n"
" display. The monitor.lsof configurable can be used with a Linux\n"
" server, while setting the monitor configurable to 5 or more works\n"
" for any server platform. However, there is no value to setting\n"
" both configurables; either set monitor.lsof, or set monitor to\n"
" 5 or more, but not both.\n"
"\n"
" The -s flag displays only processes in the indicated status.\n"
"\n"
" 'p4 monitor terminate [id]' marks the specified command for\n"
" termination. This command requires that the user be an operator or\n"
" have 'super' access.\n"
"\n"
" 'p4 monitor clear [id|all]' removes the specified process record from\n"
" the monitor table. All of the records are removed if the option 'all'\n"
" is supplied instead of an ID. This option might be required if for\n"
" some reason commands are ending prematurely. This command requires\n"
" that the user be an operator or have 'super' access.\n"
"\n"
" 'p4 monitor pause [id]' marks the specified command for\n"
" pausing until resumed. This command requires that the user be\n"
" an operator or have 'super' access.\n"
"\n"
" 'p4 monitor resume [id]' marks the specified command for\n"
" resuming. This command requires that the user be an operator or have\n"
" 'super' access.\n"
};
ErrorId MsgHelp::HelpMove = { ErrorOf( ES_HELP, 108, E_INFO, EV_NONE, 0 ),
"\n"
" move -- move file(s) from one location to another\n"
" rename -- synonym for 'move'\n"
"\n"
" p4 move [-c changelist#] [-f -n -k] [-t filetype] fromFile toFile\n"
"\n"
" Move takes an already opened file and moves it from one client\n"
" location to another, reopening it as a pending depot move. When\n"
" the file is submitted with 'p4 submit', its depot file is moved\n"
" accordingly.\n"
"\n"
" Wildcards in fromFile and toFile must match. The fromFile must be\n"
" a file open for add or edit.\n"
"\n"
" 'p4 opened' lists pending moves. 'p4 diff' can compare a moved\n"
" client file with its depot original, 'p4 sync' can schedule an \n"
" update of a moved file, and 'p4 resolve' can resolve the update.\n"
"\n"
" A client file can be moved many times before it is submitted.\n"
" Moving a file back to its original location will undo a pending\n"
" move, leaving unsubmitted content intact. Using 'p4 revert'\n"
" undoes the move and reverts the unsubmitted content.\n"
"\n"
" If -c changelist# is specified, the file is reopened in the\n"
" specified pending changelist as well as being moved.\n"
"\n"
" The -f flag forces a move to an existing target file. The file\n"
" must be synced and not opened. The originating source file will\n"
" no longer be synced to the client.\n"
"\n"
" If -t filetype is specified, the file is assigned that filetype.\n"
" If the filetype is a partial filetype, the partial filetype is\n"
" combined with the current filetype. See 'p4 help filetypes'.\n"
"\n"
" The -n flag previews the operation without moving files.\n"
"\n"
" The -k flag performs the rename on the server without modifying\n"
" client files. Use with caution, as an incorrect move can cause\n"
" discrepancies between the state of the client and the corresponding\n"
" server metadata.\n"
"\n"
" The 'move' command requires a release 2009.1 or newer client. The\n"
" '-f' flag requires a 2010.1 client.\n"
};
ErrorId MsgHelp::HelpObliterate = { ErrorOf( ES_HELP, 64, E_INFO, EV_NONE, 0 ),
"\n"
" obliterate -- Remove files and their history from the depot\n"
"\n"
" p4 obliterate [-y -A -b -a -h] file[revRange] ...\n"
"\n"
" Obliterate permanently removes files and their history from the server.\n"
" (See 'p4 delete' for the non-destructive way to delete a file.)\n"
" Obliterate retrieves the disk space used by the obliterated files\n"
" in the archive and clears the files from the metadata that is\n"
" maintained by the server. Files in client workspaces are not\n"
" physically affected, but they are no longer under Perforce control.\n"
"\n"
" Obliterate is aware of lazy copies made when 'p4 integrate' creates\n"
" a branch, and does not remove copies that are still in use. Because\n"
" of this, obliterating files does not guarantee that the corresponding\n"
" files in the archive will be removed.\n"
"\n"
" If the file argument has a revision, the specified revision is\n"
" obliterated. If the file argument has a revision range, the\n"
" revisions in that range are obliterated. See 'p4 help revisions'\n"
" for help.\n"
"\n"
" By default, obliterate displays a preview of the results. To execute\n"
" the operation, you must specify the -y flag.\n"
"\n"
" Obliterate has three flags that can improve performance (-b, -a, -h):\n"
"\n"
" The '-b' flag restricts files in the argument range to those that\n"
" are branched and are both the first revision and the head revision\n"
" This flag is useful for removing old branches while keeping files\n"
" of interest (files that were modified).\n"
"\n"
" The '-a' flag skips the archive search and removal phase. This\n"
" phase of obliterate can take a very long time for sites with big\n"
" archive maps (db.archmap). However, file content is not removed;\n"
" if the file was a branch, then it's most likely that the archival\n"
" search is not necessary. This option is safe to use with the '-b'\n"
" option.\n"
"\n"
" The '-h' flag instructs obliterate not to search db.have for all\n"
" possible matching records to delete. Usually, db.have is one of the\n"
" largest tables in a repository and consequently this search takes\n"
" a long time. Do not use this flag when obliterating branches or\n"
" namespaces for reuse, because the old content on any client\n"
" will not match the newly-added repository files. Note that use of\n"
" the -h flag has the side-effect of cleaning the obliterated files\n"
" from client workspaces when they are synced.\n"
"\n"
" When a revision has been archived, its action is changed to archive.\n"
" By default, obliterate will not process a revision which has been\n"
" archived. To include such revisions, you must specify the -A flag.\n"
" Note that obliterate -A does not affect the metadata and content in\n"
" the archive depot. To remove the metadata and content in the archive\n"
" depot, see 'p4 help archive' and the corresponding '-p' flag. Note\n"
" also that obliterating an archive revision with the -A flag means\n"
" you can no longer restore it nor use 'archive -p', so typically you\n"
" should use 'archive -p' instead of 'obliterate -A'.\n"
"\n"
" If you are obliterating files in order to entirely remove a depot\n"
" from the server, and files in that depot have been integrated to\n"
" other depots, run 'p4 snap' first to break those linkages, so that\n"
" obliterate can remove the unreferenced archive files. If, instead,\n"
" you specify '-a' to skip the archive removal phase, then you will\n"
" need to specify '-f' when deleting the depot, since the presence\n"
" of the archive files will prevent the depot deletion.\n"
"\n"
" 'p4 obliterate' requires 'admin' access, which is granted by 'p4\n"
" protect'.\n"
};
ErrorId MsgHelp::HelpOpened = { ErrorOf( ES_HELP, 65, E_INFO, EV_NONE, 0 ),
"\n"
" opened -- List open files and display file status\n"
"\n"
" p4 opened [-a -c changelist# -C client -u user -m max -s -g] [file ...]\n"
" p4 opened [-a -x -m max ] [file ...]\n"
"\n"
" Lists files currently opened in pending changelists, or, for\n"
" specified files, show whether they are currently opened or locked.\n"
" If the file specification is omitted, all files open in the current\n"
" client workspace are listed.\n"
"\n"
" Files in shelved changelists are not displayed by this command. To\n"
" display shelved changelists, see 'p4 changes -s shelved'; to display\n"
" the files in those shelved changelists, see 'p4 describe -s -S'.\n"
"\n"
" If the stream spec associated with this client is currently opened,\n"
" the stream spec is displayed on the first line of the output.\n"
"\n"
" The -a flag lists opened files in all clients. By default, only\n"
" files opened by the current client are listed.\n"
"\n"
" The -c changelist# flag lists files opened in the specified\n"
" changelist#.\n"
"\n"
" The -C client flag lists files open in the specified client workspace.\n"
"\n"
" The -u user flag lists files opened by the specified user.\n"
"\n"
" The -m max flag limits output to the first 'max' number of files.\n"
"\n"
" The -s option produces 'short' and optimized output when used with\n"
" the -a (all clients) option. For large repositories '-a' can take\n"
" a long time when compared to '-as'.\n"
"\n"
" The -x option lists files that are opened 'exclusive'. This option\n"
" only applies to a distributed installation where global tracking of\n"
" these file types is necessary across servers. The -x option implies\n"
" the -a option.\n"
"\n"
" The -g option lists files that are opened on the Commit Server\n"
" in a distributed installation. This is useful for tracking files\n"
" that may be globally locked on the Commit Server from any of its\n"
" Edge Servers. Since the command query runs on the Commit Server,\n"
" the file spec argument (if any) must be in depot syntax. The -g\n"
" option implies the -a option.\n"
};
ErrorId MsgHelp::HelpPasswd = { ErrorOf( ES_HELP, 66, E_INFO, EV_NONE, 0 ),
"\n"
" passwd -- Set the user's password on the server (and Windows client)\n"
"\n"
" p4 passwd [-O oldPassword -P newPassword] [user]\n"
"\n"
" 'p4 passwd' sets the user's password on the server.\n"
"\n"
" After a password is set for a user, the same password must be set on\n"
" the client in the environment variable $P4PASSWD to enable the user\n"
" to use all Perforce client applications on that machine. (On Windows,\n"
" you can use 'p4 passwd' to configure the password in the environment.)\n"
"\n"
" 'p4 passwd' prompts for both the old password and the new password\n"
" with character echoing turned off. To delete the password, set it to\n"
" an empty string.\n"
"\n"
" The -O flag provides the old password, avoiding prompting. If you\n"
" specify -O, you must also specify -P.\n"
"\n"
" The -P flag provides the new password, avoiding prompting.\n"
"\n"
" If you are using ticket-based authentication, changing your password\n"
" automatically invalidates all of your tickets and logs you out.\n"
"\n"
" Specifying a username as an argument to 'p4 passwd' requires 'super'\n"
" access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpPopulate = { ErrorOf( ES_HELP, 148, E_INFO, EV_NONE, 0 ),
"\n"
" populate -- Branch a set of files as a one-step operation\n"
"\n"
" p4 populate [options] fromFile[rev] toFile\n"
" p4 populate [options] -b branch [-r] [toFile[rev]]\n"
" p4 populate [options] -b branch -s fromFile[rev] [toFile]\n"
" p4 populate [options] -S stream [-P parent] [-r] [toFile[rev]]\n"
"\n"
" options: -d description -f -m max -n -o\n"
"\n"
" 'p4 populate' branches a set of files (the 'source') into another depot\n"
" location (the 'target') in a single step. The new files are created\n"
" immediately, without requiring a 'p4 submit' or a client workspace.\n"
"\n"
" The target must be completely empty of files, including deleted files.\n"
"\n"
" Source and target files (fromFile and toFile) can be specified on\n"
" the command line or through a branch view. On the command line,\n"
" fromFile is the source file set and toFile is the target file set.\n"
" With a branch view, a toFile argument can be given to limit the scope\n"
" of the target file set.\n"
"\n"
" A revision specifier can be used to select the revision to branch; by\n"
" default, the head revision is branched. The revision specifier can be\n"
" used on fromFile, or on toFile, but not on both. When used on toFile,\n"
" it refers to source revisions, not to target revisions. A range may\n"
" not be used as a revision specifier. For revision syntax, see 'p4\n"
" help revisions'.\n"
"\n"
" Use 'p4 populate -r -S' to branch a child stream from its parent.\n"
" The -S flag makes 'p4 populate' use a generated branch view that maps\n"
" the stream (or its underlying real stream) to its parent. With -r,\n"
" the direction of the mapping is reversed. -P can be used to generate\n"
" the branch view using a parent stream other than the stream's actual\n"
" parent.\n"
"\n"
" The -b flag makes 'p4 populate' use a user-defined branch view. (See\n"
" 'p4 help branch'.) The source is the left side of the branch view\n"
" and the target is the right side. With -r, the direction is reversed.\n"
"\n"
" The -s flag can be used with -b to cause fromFile to be treated as\n"
" the source, and both sides of the user-defined branch view to be\n"
" treated as the target, per the branch view mapping. An optional\n"
" toFile argument may be given to further restrict the scope of the\n"
" target file set. -r is ignored when -s is used.\n"
"\n"
" The -d flag specifies a description for the submitted changelist.\n"
"\n"
" The -f flag forces deleted files to be branched into the target.\n"
" By default, deleted files are treated as nonexistent and simply\n"
" skipped.\n"
"\n"
" The -n flag displays a preview of the operation, without actually\n"
" doing anything.\n"
"\n"
" The -o flag displays a list of files created by the populate command.\n"
"\n"
" The -m flag limits the actions to the first 'max' number of files.\n"
};
ErrorId MsgHelp::HelpPrint = { ErrorOf( ES_HELP, 67, E_INFO, EV_NONE, 0 ),
"\n"
" print -- Write a depot file to standard output\n"
"\n"
" p4 print [-a -A -k -o localFile -q -m max] file[revRange] ...\n"
" p4 print -U unloadfile ...\n"
"\n"
" Retrieve the contents of a depot file to the client's standard output.\n"
" The file is not synced. If file is specified using client syntax,\n"
" Perforce uses the client view to determine the corresponding depot\n"
" file.\n"
"\n"
" By default, the head revision is printed. If the file argument\n"
" includes a revision, the specified revision is printed. If the\n"
" file argument has a revision range, then only files selected by\n"
" that revision range are printed, and the highest revision in the\n"
" range is printed. For details about revision specifiers, see 'p4\n"
" help revisions'.\n"
"\n"
" The -a flag prints all revisions within the specified range, rather\n"
" than just the highest revision in the range.\n"
"\n"
" The -A flag prints files in archive depots.\n"
"\n"
" The -k flag suppresses keyword expansion.\n"
"\n"
" The -o localFile flag redirects the output to the specified file on\n"
" the client filesystem.\n"
"\n"
" The -q flag suppresses the initial line that displays the file name\n"
" and revision.\n"
"\n"
" The -m flag limits print to the first 'max' number of files.\n"
"\n"
" The -U option prints files in the unload depot (see 'p4 help unload'\n"
" for more information about the unload depot).\n"
};
ErrorId MsgHelp::HelpProperty = { ErrorOf( ES_HELP, 159, E_INFO, EV_NONE, 0 ),
"\n"
" property -- Add, delete, or list property values\n"
"\n"
" p4 property -a -n name -v value [-s sequence] [-u user | -g group]\n"
" p4 property -d -n name [-s sequence] [-u user | -g group]\n"
" p4 property -l [-A] [-n name [-s sequence] [-u user | -g group]] [-F filter -T taglist -m max]\n"
"\n"
" The first form updates a property value in the server, or adds the\n"
" property value to the server if it is not yet there.\n"
"\n"
" The second form deletes a property value from the server.\n"
"\n"
" The third form lists one or more property values from the server.\n"
" Specifying the -n flag when using the -l flag substantially improves\n"
" the performance of this command.\n"
"\n"
" The server does not directly use property values. It provides\n"
" storage of property values for use by applications that wish to\n"
" persistently store their configuration settings and other property\n"
" data in the server.\n"
"\n"
" When specifying multiple property values for the same property, use\n"
" distinct sequence numbers to specify the precedence order. A value\n"
" with a higher sequence number is ordered before a value with a lower\n"
" sequence number. Values with the same sequence number have an\n"
" undefined ordering relationship.\n"
"\n"
" The -n flag specifies the name of this property.\n"
"\n"
" The -v flag specifies the value of this property.\n"
"\n"
" The -s flag specifies the sequence number of this property. If the\n"
" sequence is not specified, it defaults to 1.\n"
"\n"
" The -u flag specifies the user to whom this property applies.\n"
"\n"
" The -g flag specifies the user group to which this property applies.\n"
"\n"
" The -m max flag limits output to the first 'max' number of properties.\n"
"\n"
" The -T flag can be used to limit the fields that are displayed.\n"
"\n"
" The -F flag limits output to properties matching the filter pattern.\n"
"\n"
" The -T and -F flags can only be used with tagged format.\n"
"\n"
" The -A flag specifies that properties for all users and groups should\n"
" be listed, including the sequence number of each property value.\n"
"\n"
" The -a, -A, and -d flags require that the user have 'admin' access\n"
" granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpProtect = { ErrorOf( ES_HELP, 68, E_INFO, EV_NONE, 0 ),
"\n"
" protect -- Modify protections in the server namespace\n"
"\n"
" p4 protect\n"
" p4 protect -o\n"
" p4 protect -i\n"
"\n"
" 'p4 protect' edits the protections table in a text form.\n"
"\n"
" Each line in the table contains a protection mode, a group/user\n"
" indicator, the group/user name, client host ID and a depot file\n"
" path pattern. Users receive the highest privilege that is granted\n"
" on any line.\n"
"\n"
" Note: remote depots are accessed using the pseudo-user 'remote'.\n"
" To control access from other servers that define your server as\n"
" a remote server, grant appropriate permissions to the 'remote' user.\n"
"\n"
" Mode: The permission level or right being granted or denied.\n"
" Each permission level includes all the permissions above\n"
" it, except for 'review'. Each permission only includes\n"
" the specific right and no lesser rights. This approach\n"
" enables you to deny individual rights without having to\n"
" re-grant lesser rights. Modes prefixed by '=' are rights.\n"
" All other modes are permission levels.\n"
"\n"
" Valid modes are:\n"
"\n"
" list - users can see names but not contents of files;\n"
" users can see all non-file related metadata\n"
" (clients, users, changelists, jobs, etc.)\n"
"\n"
" read - users can sync, diff, and print files\n"
"\n"
" open - users can open files (add, edit, delete,\n"
" integrate)\n"
"\n"
" write - users can submit open files\n"
"\n"
" admin - permits those administrative commands and\n"
" command options that don't affect the server's\n"
" security.\n"
"\n"
" super - access to all commands and command options.\n"
"\n"
" review - permits access to the 'p4 review' command;\n"
" implies read access\n"
"\n"
" =read - if this right is denied, users can't sync,\n"
" diff, or print files\n"
"\n"
" =branch - if this right is denied, users are not\n"
" permitted to use files as a source\n"
" for 'p4 integrate'\n"
"\n"
" =open = if this right is denied, users cannot open\n"
" files (add, edit, delete, integrate)\n"
"\n"
" =write = if this right is denied, users cannot submit\n"
" open files\n"
"\n"
" Group/User indicator: specifies the grantee is a group or user.\n"
"\n"
" Name: A Perforce group or user name; can include wildcards.\n"
"\n"
" Host: The IP address of a client host; can include wildcards.\n"
"\n"
" The server can distinguish connections coming from a\n"
" proxy, broker, or replica. The server prepends the string\n"
" 'proxy-' to the IP address of the true client of such\n"
" a connection when the server enforces the protections.\n"
"\n"
" Specify the 'proxy-' prefix for the IP address in the\n"
" Host: field in the protections table to indicate the\n"
" protections that should thus apply.\n"
"\n"
" For example, 'proxy-*' applies to all connections from\n"
" all proxies, brokers, and replicas, while\n"
" 'proxy-10.0.0.5' identifies a client machine with an IP\n"
" address of 10.0.0.5 which is connecting to p4d through\n"
" a proxy, broker, or replica.\n"
"\n"
" If you wish to write a single set of protections entries\n"
" which apply both to directly-connected clients as well\n"
" as to those which connect via a proxy, broker, or\n"
" replica, you can omit the 'proxy-' prefix and also set\n"
" dm.proxy.protects=0. In this case, the 'proxy-' prefix\n"
" is not prepended to the IP address of connections which\n"
" are made via a proxy, replica or broker. Note that in\n"
" this scenario, all intermediate proxies, brokers, and\n"
" replicas should be at release 2012.1 or higher.\n"
"\n"
" Path: The part of the depot to which access is being granted\n"
" or denied. To deny access to a depot path, preface the\n"
" path with a \"-\" character. These exclusionary mappings\n"
" apply to all access levels, even if only one access\n"
" level is specified in the first field.\n"
"\n"
" The -o flag writes the protection table to the standard output.\n"
" The user's editor is not invoked.\n"
"\n"
" The -i flag reads the protection table from the standard input.\n"
" The user's editor is not invoked.\n"
"\n"
" After protections are defined, 'p4 protect' requires 'super'\n"
" access.\n"
};
ErrorId MsgHelp::HelpProtects = { ErrorOf( ES_HELP, 93, E_INFO, EV_NONE, 0 ),
"\n"
" protects -- Display protections defined for a specified user and path\n"
"\n"
" p4 protects [-s spec] [-a | -g group | -u user] [-h host] [-m] [file ...]\n"
" p4 protects -M [-g group | -u user] [file ...]\n"
"\n"
" 'p4 protects' displays the lines from the protections table that\n"
" apply to the current user. The protections table is managed using\n"
" the 'p4 protect' command.\n"
"\n"
" If the -a flag is specified, protection lines for all users are\n"
" displayed. If the -g group flag or -u user flag is specified,\n"
" protection lines for that group or user are displayed.\n"
"\n"
" If the -h host flag is specified, the protection lines that apply\n"
" to the specified host (IP address) are displayed.\n"
"\n"
" If the -m flag is given, a single word summary of the maximum\n"
" access level is reported. Note that this summary does not take\n"
" exclusions or the specified file path into account.\n"
"\n"
" If the -M flag is given, a single word summary of the maximum\n"
" access level is reported. Unlike '-m' it does take into account\n"
" exclusions and the specified file path.\n"
"\n"
" If the -s spec flag is specified and a spec depot has been defined\n"
" then the command runs using the contents of the file in the spec\n"
" depot rather than the current protections table. This allows the\n"
" 'super' user back-in-time access to how permission would have\n"
" behaved in a previous version of the protections spec.\n"
"\n"
" If the file argument is specified, protection lines that apply to\n"
" the specified files are displayed.\n"
"\n"
" The -a/-g/-u flags require 'super' access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpProxy = { ErrorOf( ES_HELP, 145, E_INFO, EV_NONE, 0 ),
"\n"
" proxy -- Display Proxy connection information\n"
"\n"
" p4 proxy\n"
"\n"
" 'p4 proxy' is only understood by the Perforce Proxy.\n"
"\n"
" 'p4 proxy' lists information about the proxy which the client is\n"
" connected to. Items displayed include the client's network address,\n"
" the proxy's network address, and the proxy's version information.\n"
};
ErrorId MsgHelp::HelpPrune = { ErrorOf( ES_HELP, 174, E_INFO, EV_NONE, 0 ),
"\n"
" prune -- Remove unmodified branched files from a stream\n"
"\n"
" p4 prune [-y] -S stream\n"
"\n"
" Prune permanently removes unmodified files from a stream that is\n"
" no longer being actively used. Only the owner of a stream may\n"
" 'p4 prune' it.\n"
"\n"
" After a stream has been pruned, files that have been modified, i.e.\n"
" files with more than one revision, will remain in the stream so that\n"
" their edit history will be preserved. The unmodified files will be\n"
" gone as if obliterated by an administrator (see 'p4 help obliterate').\n"
"\n"
" Mainline, task, and virtual streams may not be pruned. To remove\n"
" unmodified files from a task stream, delete or unload it (see 'p4 help\n"
" stream' and 'p4 help unload').\n"
"\n"
" Pruned files will remain in client workspaces until the next 'p4 sync',\n"
" which will remove them. If pruned files have been branched to a child\n"
" stream, new integration records will be generated to directly link the\n"
" branched files in the child stream to the files in the parent stream\n"
" that they were previously related to indirectly.\n"
"\n"
" By default, prune displays a preview of the results. To execute the\n"
" operation, you must specify the -y flag.\n"
"\n"
" 'p4 prune' requires 'write' access, which is granted by 'p4 protect'.\n"
" You must also be the owner of the stream in order to run 'p4 prune'.\n"
"\n"
};
ErrorId MsgHelp::HelpRename = { ErrorOf( ES_HELP, 69, E_INFO, EV_NONE, 0 ),
"\n"
" rename -- How to rename files using pre-2009.1 clients\n"
"\n"
" In release 2009.1 and higher, you can use 'p4 move' to move or\n"
" rename files. Perforce clients prior to release 2009.1 do not\n"
" support 'p4 move'. However, files in older clients can be\n"
" renamed by branching one file to another and deleting the\n"
" original file. For example:\n"
"\n"
" p4 integrate fromFile toFile\n"
" p4 delete fromFile\n"
" p4 submit\n"
"\n"
" For further information, see the help for the individual commands.\n"
"\n"
" Note: Files renamed in this way are treated as branched files\n"
" rather than moved files in subsequent operations.\n"
};
ErrorId MsgHelp::HelpReopen = { ErrorOf( ES_HELP, 70, E_INFO, EV_NONE, 0 ),
"\n"
" reopen -- Change the filetype of an open file or move it to\n"
" another changelist\n"
"\n"
" p4 reopen [-c changelist#] [-t filetype] file ...\n"
"\n"
" Reopen an open file for the current user in order to move it to a\n"
" different changelist or change its filetype.\n"
"\n"
" The target changelist must exist; you cannot create a changelist by\n"
" reopening a file. To move a file to the default changelist, use\n"
" 'p4 reopen -c default'.\n"
"\n"
" If -t filetype is specified, the file is assigned that filetype. If\n"
" a partial filetype is specified, it is combined with the current\n"
" filetype. For details, see 'p4 help filetypes'.\n"
};
ErrorId MsgHelp::HelpReconcile = { ErrorOf( ES_HELP, 146, E_INFO, EV_NONE, 0 ),
"\n"
" reconcile -- Open files for add, delete, and/or edit to reconcile\n"
" client with workspace changes made outside of Perforce\n"
"\n"
" rec -- synonym for 'reconcile'\n"
" status -- 'reconcile -n + opened' (output uses local paths)\n"
" status -A -- synonym for 'reconcile -ead' (output uses local paths)\n"
"\n"
" clean -- synonym for 'reconcile -w'\n"
"\n"
" p4 reconcile [-c change#] [-e -a -d -f -I -l -m -n -w] [file ...]\n"
" p4 status [-c change#] [-A | [-e -a -d] | [-s]] [-f -I -m] [file ...]\n"
" p4 clean [-e -a -d -I -l -n] [file ...]\n"
" p4 reconcile -k [-l -n] [file ...]\n"
" p4 status -k [file ...]\n"
"\n"
" 'p4 reconcile' finds unopened files in a client's workspace and\n"
" detects the following:\n"
"\n"
" 1. files in depot missing from workspace, but still on have list\n"
" 2. files on workspace that are not in depot\n"
" 3. files modified in workspace that are not opened for edit\n"
"\n"
" By default, the files matching each condition above in the path\n"
" are reconciled by opening files for delete (scenario 1), add\n"
" (scenario 2), and/or edit (scenario 3). The -e, -a, and -d flags\n"
" may be used to limit to a subset of these operations. If no file\n"
" arguments are given, reconcile and status default to the current\n"
" working directory.\n"
"\n"
" If the list of files to be opened includes both adds and deletes,\n"
" the missing and added files will be compared and converted to pairs\n"
" of move/delete and move/add operations if they are similar enough.\n"
"\n"
" In addition to opening unopened files, reconcile will detect files\n"
" that are currently opened for edit but missing from the workspace\n"
" and reopen them for delete. Reconcile will also detect files opened\n"
" for delete that are present on the workspace and reopen them for\n"
" edit.\n"
"\n"
" The -n flag previews the operation without performing any action.\n"
" Although metadata updates from reconcile require open permission,\n"
" the preview commands only require read access.\n"
"\n"
" If -c changelist# is included, the files are opened in the specified\n"
" pending changelist.\n"
"\n"
" The -e flag allows the user to reconcile files that have been\n"
" modified outside of Perforce. The reconcile command will open\n"
" these files for edit.\n"
"\n"
" The -a flag allows the user to reconcile files that are in the\n"
" user's directory that are not under Perforce source control. These\n"
" files are opened for add.\n"
"\n"
" The -f flag allows the user to add files with filenames that contain\n"
" wildcard characters. Filenames that contain the special characters\n"
" '@', '#', '%%' or '*' are reformatted to encode the characters using\n"
" ASCII hexadecimal representation. After the files are added, you\n"
" must refer to them using the reformatted file name, because Perforce\n"
" does not recognize the local filesystem name.\n"
"\n"
" The -I flag informs the client that it should not perform any ignore\n"
" checking configured by P4IGNORE.\n"
"\n"
" The -d flag allows the user to reconcile files that have been\n"
" removed from the user's directory but are still in the depot.\n"
" These files will be opened for delete only if they are still on the\n"
" user's have list.\n"
"\n"
" The -l flag requests output in local file syntax using relative\n"
" paths, similar to the workspace-centric view provided by 'status'.\n"
"\n"
" The -m flag used in conjunction with -e can be used to minimize\n"
" costly digest computation on the client by checking file modification\n"
" times before checking digests to determine if files have been\n"
" modified outside of Perforce.\n"
"\n"
" The -w flag forces the workspace files to be updated to match the\n"
" depot rather than opening them so that the depot can be updated to\n"
" match the workspace. Files that are not under source control will\n"
" be deleted, and modified or deleted files will be refreshed. Note\n"
" that this operation will result in the loss of any changes made to\n"
" unopened files. This option requires read permission.\n"
"\n"
" The -k flag updates the have list when files in the workspace but\n"
" not on the have list match content of corresponding files in the\n"
" depot. In this case, the client's have list is updated to reflect\n"
" the matching revisions. This option is used to reconcile the have\n"
" list with the workspace.\n"
"\n"
" The -s flag (only used with 'p4 status') requests summarized\n"
" output for the files to be opened for 'add'. Files in the current\n"
" directory are listed as usual, but subdirectories containing files\n"
" to be opened for 'add' are displayed instead of each file. This\n"
" optimized option doesn't support move detection. Files to open\n"
" for 'delete' and 'edit' are still listed individually.\n"
"\n"
" The status command displays preview output which includes files\n"
" which are already opened in addition to the files that need to\n"
" be reconciled. Opened files are not shown with options -A/-a/-e/-d.\n"
"\n"
" 'p4 reconcile' is not supported for files with propagating attributes\n"
" from an edge server in a distributed environment.\n"
};
ErrorId MsgHelp::HelpResolve = { ErrorOf( ES_HELP, 71, E_INFO, EV_NONE, 0 ),
"\n"
" resolve -- Resolve integrations and updates to workspace files\n"
"\n"
" p4 resolve [options] [file ...]\n"
"\n"
" options: -A<flags> -a<flags> -d<flags> -f -n -N -o -t -v\n"
" -c changelist#\n"
"\n"
" 'p4 resolve' resolves changes to files in the client workspace.\n"
" \n"
" 'p4 resolve' works only on files that have been scheduled to be \n"
" resolved. The commands that can schedule resolves are: 'p4 sync',\n"
" 'p4 update', 'p4 submit', 'p4 merge', and 'p4 integrate'. Files must\n"
" be resolved before they can be submitted.\n"
"\n"
" Resolving involves two sets of files, a source and a target. The\n"
" target is a set of depot files that maps to opened files in the\n"
" client workspace. When resolving an integration, the source is a\n"
" different set of depot files than the target. When resolving an\n"
" update, the source is the same set of depot files as the target,\n"
" at a different revision.\n"
"\n"
" The 'p4 resolve' file argument specifies the target. If the file\n"
" argument is omitted, all unresolved files are resolved.\n"
"\n"
" Resolving can modify workspace files. To back up files, use 'p4\n"
" shelve' before using 'p4 resolve'.\n"
"\n"
" The resolve process is a classic three-way merge. The participating\n"
" files are referred to as follows:\n"
"\n"
" 'yours' The target file open in the client workspace\n"
" 'theirs' The source file in the depot\n"
" 'base' The common ancestor; the highest revision of the\n"
" source file already accounted for in the target.\n"
" 'merged' The merged result.\n"
"\n"
" Filenames, filetypes, and text file content can be resolved by \n"
" accepting 'yours', 'theirs', or 'merged'. Branching, deletion, and\n"
" binary file content can be resolved by accepting either 'yours' or\n"
" 'theirs'.\n"
"\n"
" When resolving integrated changes, 'p4 resolve' distinguishes among\n"
" four results: entirely yours, entirely theirs, a pure merge, or an\n"
" edited merge. The distinction is recorded when resolved files are\n"
" submitted, and will be used by future commands to determine whether\n"
" integration is needed.\n"
"\n"
" In all cases, accepting 'yours' leaves the target file in its current\n"
" state. The result of accepting 'theirs' is as follows:\n"
"\n"
" Content: The target file content is overwritten.\n"
" Attribute: The target's attributes are replaced.\n"
" Branching: A new target is branched.\n"
" Deletion: The target file is deleted.\n"
" Filename: The target file is moved or renamed.\n"
" Filetype: The target file's type is changed.\n"
"\n"
" For each unresolved change, the user is prompted to accept a result.\n"
" Content and non-content changes are resolved separately. For content,\n"
" 'p4 resolve' places the merged result into a temporary file in the\n"
" client workspace. If there are any conflicts, the merged file contains\n"
" conflict markers that must be removed by the user.\n"
"\n"
" 'p4 resolve' displays a count of text diffs and conflicts, and offers\n"
" the following prompts:\n"
"\n"
" Accept:\n"
" at Keep only changes to their file.\n"
" ay Keep only changes to your file.\n"
" * am Keep merged file.\n"
" * ae Keep merged and edited file.\n"
" * a Keep autoselected file.\n"
"\n"
" Diff:\n"
" * dt See their changes alone.\n"
" * dy See your changes alone.\n"
" * dm See merged changes.\n"
" d Diff your file against merged file.\n"
"\n"
" Edit:\n"
" et Edit their file (read only).\n"
" ey Edit your file (read/write).\n"
" * e Edit merged file (read/write).\n"
"\n"
" Misc:\n"
" * m Run '$P4MERGE base theirs yours merged'.\n"
" (Runs '$P4MERGEUNICODE charset base theirs\n"
" yours merged' if set and the file is a\n"
" unicode file.)\n"
" s Skip this file.\n"
" h Print this help message.\n"
" ^C Quit the resolve operation.\n"
"\n"
" Options marked (*) appear only for text files. The suggested action\n"
" will be displayed in brackets. \n"
"\n"
" The 'merge' (m) option enables you to invoke your own merge program, if\n"
" one is configured using the $P4MERGE environment variable. Four files\n"
" are passed to the program: the base, yours, theirs, and the temporary\n"
" file. The program is expected to write merge results to the temporary\n"
" file.\n"
"\n"
" The -A flag can be used to limit the kind of resolving that will be\n"
" attempted; without it, everything is attempted:\n"
"\n"
" -Aa Resolve attributes.\n"
" -Ab Resolve file branching.\n"
" -Ac Resolve file content changes.\n"
" -Ad Resolve file deletions.\n"
" -Am Resolve moved and renamed files.\n"
" -At Resolve filetype changes.\n"
" -AQ Resolve charset changes.\n"
"\n"
" The -a flag puts 'p4 resolve' into automatic mode. The user is not\n"
" prompted, and files that can't be resolved automatically are skipped:\n"
"\n"
" -as 'Safe' resolve; skip files that need merging.\n"
" -am Resolve by merging; skip files with conflicts.\n"
" -af Force acceptance of merged files with conflicts.\n"
" -at Force acceptance of theirs; overwrites yours.\n"
" -ay Force acceptance of yours; ignores theirs.\n"
"\n"
" The -as flag causes the workspace file to be replaced with their file\n"
" only if theirs has changed and yours has not.\n"
"\n"
" The -am flag causes the workspace file to be replaced with the result\n"
" of merging theirs with yours. If the merge detected conflicts, the\n"
" file is left untouched and unresolved.\n"
"\n"
" The -af flag causes the workspace file to be replaced with the result\n"
" of merging theirs with yours, even if there were conflicts. This can\n"
" leave conflict markers in workspace files.\n"
"\n"
" The -at flag resolves all files by copying theirs into yours. It \n"
" should be used with care, as it overwrites any changes made to the\n"
" file in the client workspace.\n"
"\n"
" The -ay flag resolves all files by accepting yours and ignoring \n"
" theirs. It preserves the content of workspace files.\n"
"\n"
" The -d flags can be used to control handling of whitespace and line\n"
" endings when merging files:\n"
"\n"
" -db Ignore whitespace changes.\n"
" -dw Ignore whitespace altogether.\n"
" -dl Ignores line endings. \n"
"\n"
" The -d flags are also passed to the diff options in the 'p4 resolve'\n"
" dialog. Additional -d flags that modify the diff output but do not \n"
" modify merge behavior include -dn (RCS), -dc (context), -ds (summary),\n"
" and -du (unified). Note that 'p4 resolve' uses text from the client\n"
" file if the files differ only in whitespace.\n"
"\n"
" The -f flag enables previously resolved content to be resolved again.\n"
" By default, after files have been resolved, 'p4 resolve' does not\n"
" process them again.\n"
"\n"
" The -n flag previews the operation without altering files.\n"
"\n"
" The -N flag previews the operation with additional information about\n"
" any non-content resolve actions that are scheduled.\n"
"\n"
" The -o flag displays the base file name and revision to be used\n"
" during the the merge.\n"
"\n"
" The -t flag forces 'p4 resolve' to attempt a textual merge, even for\n"
" files with non-text (binary) types.\n"
"\n"
" The -v flag causes 'p4 resolve' to insert markers for all changes,\n"
" not just conflicts.\n"
"\n"
" The -c flag limits 'p4 resolve' to the files in changelist#.\n"
"\n"
" 'p4 resolve' is not supported for files with propagating attributes\n"
" from an edge server in a distributed environment.\n"
};
ErrorId MsgHelp::HelpResolved = { ErrorOf( ES_HELP, 72, E_INFO, EV_NONE, 0 ),
"\n"
" resolved -- Show files that have been resolved but not submitted\n"
"\n"
" p4 resolved [-o] [file ...]\n"
"\n"
" 'p4 resolved' lists file updates and integrations that have been \n"
" resolved but not yet submitted. To see unresolved integrations, \n"
" use 'p4 resolve -n'. To see already submitted integrations, use \n"
" 'p4 integrated'.\n"
"\n"
" If a depot file path is specified, the output lists resolves for\n"
" 'theirs' files that match the specified path. If a client file\n"
" path is specified, the output lists resolves for 'yours' files\n"
" that match the specified path.\n"
"\n"
" The -o flag reports the revision used as the base during the\n"
" resolve.\n"
};
ErrorId MsgHelp::HelpRestore = { ErrorOf( ES_HELP, 126, E_INFO, EV_NONE, 0 ),
"\n"
" restore -- Restore revisions from an archive depot.\n"
"\n"
" p4 restore [-n] -D <depot> file[revRange] ...\n"
"\n"
" Moves previously archived revisions from the specified archive depot\n"
" back to their original locations. The revision's action is set to\n"
" its original value (add/edit/etc.).\n"
"\n"
" The -n flag displays a preview of the operation.\n"
"\n"
" The storage for the archive depot must be mounted before running this\n"
" command (except for preview).\n"
"\n"
" 'p4 restore' requires 'admin' access, which is granted using 'p4\n"
" protect'.\n"
};
ErrorId MsgHelp::HelpRetype = { ErrorOf( ES_HELP, 103, E_INFO, EV_NONE, 0 ),
"\n"
" retype -- Change rev type or archive (storage) type (unsupported)\n"
"\n"
" p4 retype [-l -n] -t filetype file[revRange]\n"
"\n"
" Retype changes the filetype of each revision of the named files\n"
" to the new specified filetype. 'filetype' may be a full or partial\n"
" filetype. See 'p4 help filetypes'.\n"
"\n"
" The -l flag causes retype to change the archive (storage) type\n"
" of the revisions instead. This involves actually moving the\n"
" revision contents in the server archive. If there are any lazy\n"
" copies of the revisions, they are updated as well. Note that\n"
" changing the archive type to purge old revisions using the +S\n"
" modifier or xtempobj is not allowed, as this would result in\n"
" purging server archive files. The effects of retype -l can be\n"
" viewed with 'p4 fstat -Oc' (undocumented). Note that to change\n"
" both the filetype and the storage type, 'p4 retype' must be run\n"
" twice: once without and once with the -l flag.\n"
"\n"
" The -n flag previews the operation.\n"
"\n"
" 'p4 retype' ignores files from remote depots.\n"
"\n"
" 'p4 retype' does not purge older revisions when a filetype is\n"
" retyped to a '+Sn' type. Subsequent edits cause revisions to be\n"
" purged.\n"
"\n"
" After changing the type of a file, any client workspaces which\n"
" currently have this file should be refreshed by issuing\n"
" 'p4 sync file#none' followed by 'p4 sync file', to ensure that the\n"
" client copy of the file reflects the new filetype.\n"
"\n"
" 'p4 retype' requires 'admin' access, which is granted by 'p4 protect'.\n"
"\n"
" 'p4 retype' is unsupported, because it cannot safely run concurrently\n"
" with other 'p4 retype', 'p4 snap', or 'p4 obliterate' commands.\n"
};
ErrorId MsgHelp::HelpRevert = { ErrorOf( ES_HELP, 73, E_INFO, EV_NONE, 0 ),
"\n"
" revert -- Discard changes from an opened file\n"
"\n"
" p4 revert [-a -n -k -w -c changelist# -C client] [--remote=rmt] file ...\n"
"\n"
" Revert an open file to the revision that was synced from the depot,\n"
" discarding any edits or integrations that have been made. You must\n"
" explicitly specify the files to be reverted. Files are removed from\n"
" the changelist in which they are open. Locked files are unlocked.\n"
"\n"
" The -a flag reverts only files that are open for edit, add, or\n"
" integrate and are unchanged or missing. Files with pending\n"
" integration records are left open. The file arguments are optional\n"
" when -a is specified.\n"
"\n"
" The -n flag displays a preview of the operation.\n"
"\n"
" The -k flag marks the file as reverted in server metadata without\n"
" altering files in the client workspace.\n"
"\n"
" The -w flag causes files that are open for add to be deleted from the\n"
" workspace when they are reverted.\n"
"\n"
" The -c flag reverts files that are open in the specified changelist.\n"
"\n"
" The -C flag allows a user to specify the workspace that has the file\n"
" opened rather than defaulting to the current client workspace. When\n"
" this option is used, the '-k' flag is also enabled and the check for\n"
" matching user is disabled. The -C flag requires 'admin' access, which\n"
" is granted by 'p4 protect'.\n"
"\n"
" The --remote flag is useful for DVCS configurations in which files\n"
" of type +l are in use. 'p4 revert --remote=origin filename' reverts\n"
" the named file in your DVCS server, and additionally, if the file is\n"
" of type +l, releases the global exclusive lock on the file in the\n"
" origin server.\n"
};
ErrorId MsgHelp::HelpReview = { ErrorOf( ES_HELP, 74, E_INFO, EV_NONE, 0 ),
"\n"
" review -- List and track changelists (for the review daemon)\n"
"\n"
" p4 review [-c changelist#] [-t counter]\n"
"\n"
" 'p4 review' lists changelists that have not been reviewed before,\n"
" as tracked by the specified counter. If the counter is omitted,\n"
" 'p4 review' lists all changelists. (If a changelist# and counter\n"
" are specified, 'p4 review' sets the counter to that changelist# and\n"
" produces no output. This functionality has been superceded by the\n"
" 'p4 counter' command.)\n"
"\n"
" 'p4 review' is not meant as an end-user command. It exists to\n"
" support an automated change review daemon.\n"
};
ErrorId MsgHelp::HelpReviews = { ErrorOf( ES_HELP, 75, E_INFO, EV_NONE, 0 ),
"\n"
" reviews -- List the users who are subscribed to review files\n"
"\n"
" p4 reviews [-C client] [-c changelist#] [file ...]\n"
"\n"
" 'p4 reviews' lists all users who have subscribed to review the\n"
" specified files.\n"
"\n"
" The -c flag limits the files to the submitted changelist.\n"
"\n"
" The -C flag limits the files to those opened in the specified clients\n"
" workspace, when used with the -c flag limits the workspace to files\n"
" opened in the specified changelist.\n"
"\n"
" To subscribe to review files, issue the 'p4 user' command and edit\n"
" the 'Reviews field'.\n"
};
ErrorId MsgHelp::HelpSearch = { ErrorOf( ES_HELP, 100, E_INFO, EV_NONE, 0 ),
"\n"
" search -- Search index (unsupported)\n"
"\n"
" p4 search [-m max] words\n"
"\n"
" Search is an interface to the search engine that searches jobs.\n"
" This command lists any index keys that contain the specified words.\n"
"\n"
" The -m flag limits search to the first 'max' number of jobs.\n"
"\n"
" See also 'p4 help index'.\n"
};
ErrorId MsgHelp::HelpSnap = { ErrorOf( ES_HELP, 102, E_INFO, EV_NONE, 0 ),
"\n"
" snap -- Snap (undo) archive lazy copies (unsupported)\n"
"\n"
" p4 snap [-n] file[revRange] ... [archivePath]\n"
"\n"
" Snap scans the specified file revisions for any revision that has\n"
" an archive file that is a lazy copy. For each of these files the\n"
" contents are copied into their own archive file, and the file is\n"
" updated to reflect that it is no longer a lazy copy.\n"
"\n"
" This operation increases the amount of space required for the archive\n"
" but ensures that (manually) deleting any other part of the archive\n"
" does not affect the specified revisions.\n"
"\n"
" If the archivePath argument is specified, only those file revisions\n"
" that have lazy copies of archives in that archive path are copied.\n"
" The archive path of a particular file revision can be viewed with\n"
" 'p4 fstat -Oc' (undocumented).\n"
"\n"
" For example, if you intend to (manually) delete the archives for\n"
" '//olddepot', but you know that some number of integrations were\n"
" performed from '//olddepot' to '//depot2', you might do\n"
"\n"
" 'p4 snap //depot2/... //olddepot/...'\n"
"\n"
" Since 'p4 snap' does not remove the archives from '//olddepot', but\n"
" only creates the new archives in '//depot2', you will need to run\n"
" 'p4 obliterate' on the files in '//olddepot' after you have run\n"
" 'p4 snap' in order to clean up the '//olddepot' contents.\n"
"\n"
" The -n flag previews the operation without copying files or changing\n"
" metadata.\n"
"\n"
" 'p4 snap' requires 'admin' access, which is granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpSet = { ErrorOf( ES_HELP, 76, E_INFO, EV_NONE, 0 ),
"\n"
" set -- Set or display Perforce variables\n"
"\n"
" p4 set [-q] [-s -S service] [var=[value]]\n"
"\n"
" 'p4 set' can set Perforce variables in persistent storage.\n"
"\n"
" With no arguments, 'p4 set' lists variable settings.\n"
"\n"
" The -q flag removes the origins of the settings from the list output.\n"
"\n"
" On Windows, 'p4 set' sets Perforce variables in the Windows registry\n"
" to the specified values. If you omit the value, the variable is unset.\n"
" On other platforms, 'p4 set' sets Perforce variables in the P4ENVIRO\n"
" file.\n"
"\n"
" The -s flag sets variables for the whole system rather than for the\n"
" user. This option requires NT administrator privilege.\n"
"\n"
" The -S service flag sets variables for the specified service. This\n"
" option requires NT administrator privilege.\n"
"\n"
" Registry/P4ENVIRO variable entries can be overridden by environment\n"
" variables and (in some cases) flags on the command line. See 'p4 help\n"
" environment' for a list of environment variables used by Perforce.\n"
"\n"
" Certain Perforce variables can also be set persistently by using\n"
" configuration files named by the P4CONFIG variable. These settings\n"
" have higher precedence than environment/registry variables, but lower\n"
" precedence than command line flags. P4CONFIG file variable settings\n"
" only affect Perforce client programs; servers do not use them.\n"
"\n"
" Since Perforce variables can be set in multiple locations, you should\n"
" examine the output of 'p4 set' carefully; a variable set in one\n"
" location may be overriding a variable set in a lower-precedence\n"
" location.\n"
};
ErrorId MsgHelp::HelpShelve = { ErrorOf( ES_HELP, 119, E_INFO, EV_NONE, 0 ),
"\n"
" shelve -- Store files from a pending changelist into the depot\n"
"\n"
" p4 shelve [-Af] [-p] [files]\n"
" p4 shelve [-Af] [-a option] [-p] -i [-f | -r]\n"
" p4 shelve [-Af] [-a option] [-p] -r -c changelist#\n"
" p4 shelve [-Af] [-a option] [-p] -c changelist# [-f] [file ...]\n"
" p4 shelve [-As] -d -c changelist# [-f] [file ...]\n"
"\n"
" 'p4 shelve' creates, modifies or deletes shelved files in a pending\n"
" changelist. Shelved files remain in the depot until they are deleted\n"
" (using 'p4 shelve -d') or replaced by subsequent shelve commands.\n"
" After 'p4 shelve', the user can revert the files and restore them\n"
" later using 'p4 unshelve'. Other users can 'p4 unshelve' the stored\n"
" files into their own workspaces.\n"
"\n"
" Files that have been shelved can be accessed by the 'p4 diff',\n"
" 'p4 diff2', 'p4 files' and 'p4 print' commands using the revision\n"
" specification '@=change', where 'change' is the pending changelist\n"
" number.\n"
"\n"
" By default, 'p4 shelve' creates a changelist, adds files from the\n"
" user's default changelist, then shelves those files in the depot.\n"
" The user is presented with a text changelist form displayed using\n"
" the editor configured using the $P4EDITOR environment variable.\n"
"\n"
" If a file pattern is specified, 'p4 shelve' shelves the files that\n"
" match the pattern.\n"
"\n"
" The -Af flag specifies that only files should be shelved with this\n"
" changelist; by default, if the stream spec is open, it will also be\n"
" included with any shelved changelist. (See 'p4 help streamcmds.)\n"
"\n"
" The -i flag reads the pending changelist specification with shelved\n"
" files from the standard input. The user's editor is not invoked.\n"
" To modify an existing changelist with shelved files, specify the\n"
" changelist number using the -c flag.\n"
"\n"
" The -c flag specifies the pending changelist that contains shelved\n"
" files to be created, deleted, or modified. Only the user and client\n"
" of the pending changelist can add or modify its shelved files. Any\n"
" files specified by the file pattern must already be opened in the\n"
" specified changelist; use 'p4 reopen' to move an opened file from\n"
" one changelist to another.\n"
"\n"
" The -f (force) flag must be used with the -c or -i flag to overwrite\n"
" any existing shelved files in a pending changelist.\n"
"\n"
" The -r flag (used with -c or -i) enables you to replace all shelved\n"
" files in that changelist with the files opened in your own workspace\n"
" at that changelist number. Previously shelved files will be deleted.\n"
" Only the user and client workspace of the pending changelist can\n"
" replace its shelved files.\n"
"\n"
" The -a flag enables you to handle unchanged files similarly to some\n"
" client submit options, namely 'submitunchanged' and 'leaveunchanged'.\n"
" The default behavior of shelving all files corresponds to the\n"
" 'submitunchanged' option. The 'leaveunchanged' option only shelves\n"
" changed files, and then leaves the files opened in the pending\n"
" changelist on the client.\n"
"\n"
" The -d flag (used with -c) deletes the shelved files in the specified\n"
" changelist so that they can no longer be unshelved. By default, only\n"
" the user and client of the pending changelist can delete its shelved\n"
" files. A user with 'admin' access can delete shelved files by including\n"
" the -f flag to force the operation.\n"
"\n"
" If the shelved changelist includes a stream spec, by default it is\n"
" deleted when all files have been deleted; the -As flag forces the\n"
" the stream spec to be deleted even if files remain.\n"
"\n"
" The -p flag promotes a shelved change from an edge server to a commit\n"
" server where it can be accessed by other edge servers participating\n"
" in the distributed configuration. Once a shelved change has been\n"
" promoted, all subsequent local modifications to the shelf are also\n"
" pushed to the commit server and remain until the shelf is deleted.\n"
" Once a shelf has been created, the combination of flags '-p -c' will\n"
" promote the shelf without modification unless '-f' or '-r' are also\n"
" used to update the shelved files before promotion.\n"
"\n"
" 'p4 shelve' is not supported for files with propagating attributes\n"
" from an edge server in a distributed environment.\n"
};
ErrorId MsgHelp::HelpSubmit = { ErrorOf( ES_HELP, 77, E_INFO, EV_NONE, 0 ),
"\n"
" submit -- Submit open files to the depot\n"
"\n"
" p4 submit [-Af -r -s -f option --noretransfer 0|1]\n"
" p4 submit [-Af -r -s -f option] file\n"
" p4 submit [-Af -r -f option] -d description\n"
" p4 submit [-Af -r -f option] -d description file\n"
" p4 submit [-Af -r -f option --noretransfer 0|1] -c changelist#\n"
" p4 submit -e shelvedChange#\n"
" p4 submit -i [-Af -r -s -f option]\n"
" --parallel=threads=N[,batch=N][,min=N]\n"
"\n"
" 'p4 submit' commits a pending changelist and its files to the depot.\n"
"\n"
" By default, 'p4 submit' attempts to submit all files in the 'default'\n"
" changelist. Submit displays a dialog where you enter a description\n"
" of the change and, optionally, delete files from the list of files\n"
" to be checked in. \n"
"\n"
" To add files to a changelist before submitting, use any of the \n"
" commands that open client workspace files: 'p4 add', 'p4 edit',\n"
" etc.\n"
"\n"
" If the file parameter is specified, only files in the default\n"
" changelist that match the pattern are submitted.\n"
"\n"
" Files in a stream path can be submitted only by client workspaces\n"
" dedicated to the stream. See 'p4 help client'.\n"
"\n"
" Before committing a changelist, 'p4 submit' locks all the files being\n"
" submitted. If any file cannot be locked or submitted, the files are \n"
" left open in a numbered pending changelist. By default, the files in\n"
" a failed submit operation are left locked unless the\n"
" submit.unlocklocked configurable is set. Files are unlocked even if\n"
" they were manually locked prior to submit if submit fails when\n"
" submit.unlocklocked is set. 'p4 opened' shows unsubmitted files\n"
" and their changelists.\n"
"\n"
" Submit is atomic: if the operation succeeds, all files are updated\n"
" in the depot. If the submit fails, no depot files are updated.\n"
"\n"
" If submit fails, some or all of the files may have been copied to\n"
" the server. By default, retrying a failed submit will transfer all of\n"
" the files again unless the submit.noretransfer configurable is set.\n"
" If submit.noretransfer is set to 1, submit uses digest comparisons to\n"
" to detect if the files have already been transferred in order to\n"
" avoid file re-transfer when retrying a failed submit.\n"
"\n"
" The --noretransfer flag is used to override the submit.noretransfer\n"
" configurable so the user can choose his preferred re-transfer\n"
" behavior during the current submit operation.\n"
"\n"
" The -Af flag specifies that only files should be submitted with this\n"
" changelist; by default, if the stream spec is open, it will be\n"
" included with the next submit. (See 'p4 help streamcmds.)\n"
"\n"
" The -c flag submits the specified pending changelist instead of the\n"
" default changelist. Additional changelists can be created manually, \n"
" using the 'p4 change' command, or automatically as the result of a \n"
" failed attempt to submit the default changelist.\n"
"\n"
" The -e flag submits a shelved changelist without transferring files\n"
" or modifying the workspace. The shelved change must be owned by\n"
" the person submitting the change, but the client may be different.\n"
" However, files shelved to a stream target may only be submitted by\n"
" a stream client that is mapped to the target stream. In addition,\n"
" files shelved to a non-stream target cannot be submitted by a stream\n"
" client. To submit a shelved change, all files in the shelved change\n"
" must be up to date and resolved. No files may be open in any workspace\n"
" at the same change number. Client submit options (ie revertUnchanged,\n"
" etc) will be ignored. If the submit is successful, the shelved change\n"
" and files are cleaned up, and are no longer available to be unshelved\n"
" or submitted.\n"
"\n"
" The -d flag passes a description into the specified changelist rather\n"
" than displaying the changelist dialog for manual editing. This option\n"
" is useful for scripting, but does not allow you to add jobs or modify\n"
" the default changelist.\n"
"\n"
" The -f flag enables you to override submit options that are configured\n"
" for the client that is submitting the changelist. This flag overrides\n"
" the -r (reopen)flag, if it is specified. See 'p4 help client' for\n"
" details about submit options.\n"
"\n"
" The -i flag reads a changelist specification from the standard input.\n"
" The user's editor is not invoked.\n"
"\n"
" The -r flag reopens submitted files in the default changelist after\n"
" submission.\n"
"\n"
" The -s flag extends the list of jobs to include the fix status\n"
" for each job, which becomes the job's status when the changelist\n"
" is committed. See 'p4 help change' for details.\n"
"\n"
" The --parallel flag specifies options for parallel file transfer. If\n"
" parallel file transfer has been enabled by setting the\n"
" net.parallel.max configurable, and if there are sufficient resources\n"
" across the system, a submit command may execute more rapidly by\n"
" transferring multiple files in parallel. Specify threads=N to request\n"
" files be sent concurrently, using N independent network connections.\n"
" The N threads grab work in batches; specify batch=N to control the\n"
" number of files in a batch. A submit that is too small will not\n"
" initiate parallel file transfers; specify min=N to control the\n"
" minimum number of files in a parallel submit. Requesting progress\n"
" indicators causes the --parallel flag to be ignored.\n"
"\n"
" Using --parallel from an edge server allows parallel file transfer\n"
" from the edge server to the commit server. This uses standard pull\n"
" threads to transfer the files. Note that an administrator must ensure\n"
" that pull threads can be run on the commit server. The address\n"
" used by the commit server to connect to the edge server must\n"
" be specified in the ExternalAddress field of the edge server spec.\n"
" Note that parallel submit is not supported from an edge server if\n"
" the commit server is on a Windows platform. In this case --parallel\n"
" or auto parallel submit will be silently ignored, and the submit\n"
" will run without using parallel threads.\n"
"\n"
" Auto parallel submit may be enabled by setting the\n"
" net.parallel.submit.threads configurable to the desired number\n"
" of threads to be used for all submit commands. This value must be\n"
" less than or equal to the value of net.parallel.max. Other\n"
" net.parallel.submit.* configurables may be specified as well, but\n"
" are not required. See 'p4 help configurables' to see the options\n"
" and their defaults. Auto parallel submit is turned off by unsetting\n"
" the net.parallel.submit.threads configurable. A user may override\n"
" the configured auto parallel submit options on the command line,\n"
" or may disable it via 'p4 submit --parallel=0`.\n"
"\n"
" Only 'submit -e' is supported for files with propagating attributes\n"
" from an edge server in a distributed environment.\n"
};
ErrorId MsgHelp::HelpSpec = { ErrorOf( ES_HELP, 99, E_INFO, EV_NONE, 0 ),
"\n"
" spec -- Edit spec comments and formatting hints (unsupported)\n"
"\n"
" p4 spec [-d -i -o] type\n"
"\n"
" Edit any type of specification: branch, change, client, depot,\n"
" group, job, label, spec, stream, triggers, typemap, or user. Only\n"
" the comments and the formatting hints can be changed. Any fields\n"
" that you add during editing are discarded when the spec is saved.\n"
"\n"
" 'p4 jobspec' is equivalent to 'p4 spec job', and any custom spec\n"
" (including the job spec) can be deleted with 'p4 spec -d type'.\n"
};
ErrorId MsgHelp::HelpSync = { ErrorOf( ES_HELP, 78, E_INFO, EV_NONE, 0 ),
"\n"
" sync -- Synchronize the client with its view of the depot\n"
" flush -- synonym for 'sync -k'\n"
" update -- synonym for 'sync -s'\n"
"\n"
" p4 sync [-f -L -n -N -k -q -r] [-m max] [file[revRange] ...]\n"
" p4 sync [-L -n -N -q -s] [-m max] [file[revRange] ...]\n"
" p4 sync [-L -n -N -p -q] [-m max] [file[revRange] ...]\n"
" --parallel=threads=N[,batch=N][,batchsize=N][,min=N][,minsize=N]\n"
"\n"
" Sync updates the client workspace to reflect its current view (if\n"
" it has changed) and the current contents of the depot (if it has\n"
" changed). The client view maps client and depot file names and\n"
" locations.\n"
"\n"
" Sync adds files that are in the client view and have not been\n"
" retrieved before. Sync deletes previously retrieved files that\n"
" are no longer in the client view or have been deleted from the\n"
" depot. Sync updates files that are still in the client view and\n"
" have been updated in the depot.\n"
"\n"
" By default, sync affects all files in the client workspace. If file\n"
" arguments are given, sync limits its operation to those files.\n"
" The file arguments can contain wildcards.\n"
"\n"
" If the file argument includes a revision specifier, then the given\n"
" revision is retrieved. Normally, the head revision is retrieved.\n"
" See 'p4 help revisions' for help specifying revisions.\n"
"\n"
" If the file argument includes a revision range specification,\n"
" only files selected by the revision range are updated, and the\n"
" highest revision in the range is used.\n"
"\n"
" Normally, sync does not overwrite workspace files that the user has\n"
" manually made writable. Setting the 'clobber' option in the\n"
" client specification disables this safety check.\n"
"\n"
" The -f flag forces resynchronization even if the client already\n"
" has the file, and overwriting any writable files. This flag doesn't\n"
" affect open files.\n"
"\n"
" The -L flag can be used with multiple file arguments that are in\n"
" full depot syntax and include a valid revision number. When this\n"
" flag is used the arguments are processed together by building an\n"
" internal table similar to a label. This file list processing is\n"
" significantly faster than having to call the internal query engine\n"
" for each individual file argument. However, the file argument syntax\n"
" is strict and the command will not run if an error is encountered.\n"
"\n"
" The -n flag previews the operation without updating the workspace.\n"
"\n"
" The -N flag also previews the operation without updating the\n"
" workspace, but reports only a summary of the work the sync would do.\n"
"\n"
" The -k flag updates server metadata without syncing files. It is\n"
" intended to enable you to ensure that the server correctly reflects\n"
" the state of files in the workspace while avoiding a large data\n"
" transfer. Caution: an erroneous update can cause the server to\n"
" incorrectly reflect the state of the workspace.\n"
"\n"
" The -p flag populates the client workspace, but does not update the\n"
" server to reflect those updates. Any file that is already synced or\n"
" opened will be bypassed with a warning message. This option is very\n"
" useful for build clients or when publishing content without the\n"
" need to track the state of the client workspace.\n"
"\n"
" The -q flag suppresses normal output messages. Messages regarding\n"
" errors or exceptional conditions are not suppressed.\n"
"\n"
" The -r flag allows open files which are mapped to new locations\n"
" in the depot to be reopened in the new location. By default, open\n"
" workspace files remain associated with the depot files that they were\n"
" originally opened as.\n"
"\n"
" The -s flag adds a safety check before sending content to the client\n"
" workspace. This check uses MD5 digests to compare the content on the\n"
" clients workspace against content that was last synced. If the file\n"
" has been modified outside of Perforce's control then an error message\n"
" is displayed and the file is not overwritten. This check adds some\n"
" extra processing which will affect the performance of the operation.\n"
" Clients with 'allwrite' and 'noclobber' set do this check by default.\n"
"\n"
" The -m flag limits sync to the first 'max' number of files. This\n"
" option is useful in conjunction with tagged output and the '-n'\n"
" flag, to preview how many files will be synced without transferring\n"
" all the file data.\n"
"\n"
" The --parallel flag specifies options for parallel file transfer. If\n"
" your administrator has enabled parallel file transfer by setting the\n"
" net.parallel.max configurable, and if there are sufficient resources\n"
" across the system, a sync command may execute more rapidly by\n"
" transferring multiple files in parallel. Specify threads=N to request\n"
" files be sent concurrently, using N independent network connections.\n"
" The N threads grab work in batches; specify batch=N to control the\n"
" number of files in a batch, or batchsize=N to control the number of\n"
" bytes in a batch. A sync that is too small will not initiate parallel\n"
" file transfers; specify min=N to control the minimum number of files\n"
" in a parallel sync, or minsize=N to control the minimum number of\n"
" bytes in a parallel sync. Requesting progress indicators causes the\n"
" --parallel flag to be ignored.\n"
"\n"
" Auto parallel sync may be enabled by setting the net.parallel.threads\n"
" configurable to the desired number of threads to be used by all sync\n"
" commands. This value must be less than or equal to the value of\n"
" net.parallel.max. Other net.parallel.* configurables may be specified\n"
" as well, but are not required. See 'p4 help configurables' to see\n"
" the options and their defaults. Auto parallel sync is turned off by\n"
" unsetting the net.parallel.threads configurable. A user may override\n"
" the configured auto parallel sync options on the command line, or may\n"
" disable it via 'p4 sync --parallel=0'.\n"
};
ErrorId MsgHelp::HelpTag = { ErrorOf( ES_HELP, 91, E_INFO, EV_NONE, 0 ),
"\n"
" tag -- Tag files with a label\n"
"\n"
" p4 tag [-d -g -n -U] -l label file[revRange] ...\n"
"\n"
" Tag associates the named label with the file revisions specified by\n"
" the file argument. After file revisions are tagged with a label,\n"
" revision specifications of the form '@label' can be used to refer\n"
" to them.\n"
"\n"
" If the file argument does not include a revision specification, the\n"
" head revisions is tagged. See 'p4 help revisions' for revision\n"
" specification options.\n"
"\n"
" If the file argument includes a revision range specification, only\n"
" the files with revisions in that range are tagged. Files with more\n"
" than one revision in the range are tagged at the highest revision.\n"
"\n"
" The -d deletes the association between the specified files and the\n"
" label, regardless of revision.\n"
"\n"
" The -n flag previews the results of the operation.\n"
"\n"
" Tag can be used with an existing label (see 'p4 help labels') or\n"
" with a new one. An existing label can be used only by its owner,\n"
" and only if it is unlocked. (See 'p4 help label').\n"
"\n"
" The -U flag specifies that the new label should be created with the\n"
" 'autoreload' option (See 'p4 help label'). It has no effect on an\n"
" existing label.\n"
"\n"
" To list the file revisions tagged with a label, use 'p4 files\n"
" @label'.\n"
"\n"
" The -g flag is used on an Edge Server to update a global label.\n"
" Configuring rpl.labels.global=1 reverses this default and causes this\n"
" flag to have the opposite meaning.\n"
};
ErrorId MsgHelp::HelpTickets = { ErrorOf( ES_HELP, 92, E_INFO, EV_NONE, 0 ),
"\n"
" tickets -- Display list of session tickets for this user\n"
"\n"
" p4 tickets\n"
"\n"
" 'p4 tickets' lists all the tickets that have been granted to the\n"
" user by 'p4 login'.\n"
};
ErrorId MsgHelp::HelpTrigger = { ErrorOf( ES_HELP, 79, E_INFO, EV_NONE, 0 ),
"\n"
" trigger -- see 'p4 help triggers'\n"
};
ErrorId MsgHelp::HelpTriggers = { ErrorOf( ES_HELP, 80, E_INFO, EV_NONE, 0 ),
"\n"
" triggers -- Modify list of server triggers\n"
"\n"
" p4 triggers\n"
" p4 triggers -o\n"
" p4 triggers -i\n"
"\n"
" 'p4 triggers' edits the table of triggers, which are used for\n"
" change submission validation, form validation, external authentication,\n"
" external job fix integration, external archive integration, and command\n"
" policies.\n"
"\n"
" Triggers are administrator-defined commands that the server runs\n"
" to perform the following:\n"
"\n"
" Validate changelist submissions.\n"
"\n"
" The server runs changelist triggers before the file transfer,\n"
" between file transfer and changelist commit, upon commit failure,\n"
" or after the commit.\n"
"\n"
" Validate shelve operations.\n"
"\n"
" The server runs shelve triggers before files are shelved, after\n"
" files are shelved, or when shelved files have been discarded\n"
" (via shelve -d).\n"
"\n"
" Manipulate and validate forms.\n"
"\n"
" The server runs form-validating triggers between generating\n"
" and outputting the form, between inputting and parsing the\n"
" form, between parsing and saving the form, or when deleting\n"
" the form.\n"
"\n"
" Authenticate or change a user password.\n"
"\n"
" The server runs authentication triggers to either validate\n"
" a user password during login or when setting a new password.\n"
"\n"
" Intercept job fix additions or deletions.\n"
"\n"
" The server run fix triggers prior to adding or deleting a fix\n"
" between a job and changelist.\n"
"\n"
" Access external archive files.\n"
"\n"
" For files with the +X filetype modifier, the server runs an\n"
" archive trigger to read, write, or delete files in the archive.\n"
"\n"
" Command execution policy.\n"
"\n"
" Command triggers can be specified to run before and after\n"
" processing of user requests. Pre-execution triggers can\n"
" prevent the command from running.\n"
"\n"
" Server maintenance.\n"
"\n"
" Journal rotation triggers can be specified to run after the\n"
" journals have rotated to the target server. These will only run\n"
" when the journal rotation is triggered by 'p4 admin journal',\n"
" 'p4 admin checkpoint' or on replicas when they rotate to match\n"
" the master.\n"
"\n"
" The trigger form has a single entry 'Triggers:', followed by any\n"
" number of trigger lines. Each trigger line must be indented with\n"
" spaces or tabs in the form. Triggers are executed in the order listed\n"
" and if a trigger fails, subsequent triggers are not run. A trigger\n"
" succeeds if the executed command exits returning 0 and fails otherwise.\n"
" Normally the failure of a trigger prevents the operation from\n"
" completing, except for the commit and journal triggers, which run after\n"
" the operation is complete, or the change-failed trigger which is only\n"
" advisory.\n"
"\n"
" Each trigger line contains a trigger name, a trigger type, a depot\n"
" file path pattern matching where the trigger will be executed, a\n"
" command name or form type and a command to run.\n"
"\n"
" Name: The name of the trigger. For change triggers, a run of the\n"
" same trigger name on contiguous lines is treated as a single\n"
" trigger so that multiple paths can be specified. Only the\n"
" command of the first such trigger line is used.\n"
"\n"
" Type: When the trigger is to execute:\n"
"\n"
" archive:\n"
" Execute an archive trigger for the server to access\n"
" any file with the +X filetype modifier.\n"
"\n"
" auth-check:\n"
" service-check:\n"
" Execute an authentication check trigger to verify a\n"
" user's password against an external password manager\n"
" during login or when setting a new password.\n"
"\n"
" auth-check-sso:\n"
" Facilitate a single sign-on user authentication. This\n"
" configuration requires two programs or scripts to run;\n"
" one on the client, the other on the server.\n"
"\n"
" client:\n"
" Set the environment variable 'P4LOGINSSO' to point to\n"
" a script that can be executed to obtain the user's\n"
" credentials or other information that the server\n"
" trigger can verify. The client-side script must\n"
" write the message to the standard output\n"
" (max length 128K).\n"
"\n"
" Example: P4LOGINSSO=/Users/joe/bin/runsso\n"
"\n"
" The two variables available to this trigger are\n"
" %%P4PORT%% and %%serverAddress%%. The distinction is\n"
" that serverAddress is the address of the target server\n"
" and the P4PORT is what the client is connecting to,\n"
" which might be an intermediate like a Perforce Proxy.\n"
"\n"
" These variables can be passed to the client script by\n"
" appending them to the client command string, as in:\n"
"\n"
" P4LOGINSSO=\"/Users/joe/bin/runsso %%serverAddress%%\"\n"
"\n"
" server:\n"
" Execute an authentication (sso) trigger that gets\n"
" this message from the standard input and returns an\n"
" exit status of 0 (for verified) or otherwise failed.\n"
"\n"
" Example:\n"
" sso auth-check-sso auth \"/secure/verify %%user%%\"\n"
"\n"
" The user must issue the 'p4 login' command, but no\n"
" password prompting is invoked. If the server\n"
" determines that the user is valid, they are issued a\n"
" Perforce ticket just as if they had logged in with a\n"
" password.\n"
"\n"
" Pre-2007.2 clients cannot run a client-side single\n"
" sign-on. Specifying an 'auth-check' trigger as a backup\n"
" for a user to gain access will prompt the user for a\n"
" password if it's an older client or P4LOGINSSO has not\n"
" been configured.\n"
"\n"
" Unlike passwords which are encrypted, the sso message is\n"
" sent to the server in clear text.\n"
"\n"
" auth-set:\n"
" Execute an authentication set trigger to send a new\n"
" password to an external password manager.\n"
"\n"
" change-submit:\n"
" Execute pre-submit trigger after changelist has been\n"
" created and files locked but prior to file transfer.\n"
"\n"
" change-content:\n"
" Execute mid-submit trigger after file transfer but prior\n"
" to commit. Files can be accessed by the 'p4 diff2',\n"
" 'p4 files', 'p4 fstat', and 'p4 print' commands using\n"
" the revision specification '@=change', where 'change' is\n"
" the pending changelist number passed as %%changelist%%.\n"
"\n"
" change-commit:\n"
" Execute post-submit trigger after changelist commit.\n"
"\n"
" change-failed:\n"
" Executes only if the changelist commit failed.\n"
" Note that this trigger only fires on errors\n"
" occurring after a commit process has started. It does\n"
" not fire for early usage errors, or due to errors from\n"
" the submit form. In short, if a change-* trigger\n"
" could have run, then the change-failed trigger\n"
" will fire if that commit fails.\n"
"\n"
" command:\n"
" Execute pre/post trigger when users run commands.\n"
"\n"
" edge-submit:\n"
" Execute pre-submit trigger on Edge Server after changelist\n"
" has been created but prior to file transfer.\n"
"\n"
" edge-content:\n"
" Execute mid-submit trigger on Edge Server after file\n"
" transfer but prior to beginning submit on Commit Server.\n"
"\n"
" fix-add:\n"
" Execute fix trigger prior to adding a fix. The special\n"
" variable %%jobs%% is available for expansion and must be\n"
" the last argument to the trigger as it expands to one\n"
" argument for each job listed on the 'p4 fix' command.\n"
"\n"
" fix-delete:\n"
" Execute fix trigger prior to deleting a fix. The special\n"
" variable %%jobs%% is available for expansion and must be\n"
" the last argument to the trigger as it expands to one\n"
" argument for each job listed on the 'p4 fix -d' command.\n"
"\n"
" form-out:\n"
" Execute form trigger on generation of form. Trigger may\n"
" modify form.\n"
"\n"
" form-in:\n"
" Execute form trigger on input of form before its contents\n"
" are parsed and validated. Trigger may modify form.\n"
"\n"
" form-save:\n"
" Execute form trigger prior to save of form after its\n"
" contents are parsed.\n"
"\n"
" form-commit:\n"
" Execute form trigger after it has been committed, allowing\n"
" access to automatically generated fields (jobname, dates\n"
" etc). It cannot modify the form. This trigger for job\n"
" forms is run by 'p4 job' and 'p4 fix' (after the status\n"
" is updated), 'p4 change' (if the job is added or deleted)\n"
" and 'p4 submit' (if the job is associated with the change).\n"
" The 'form-commit' trigger has access to the new job name\n"
" created with 'p4 job', while the 'form-in' and 'form-save'\n"
" triggers are run before the job name is created. The\n"
" special variable %%action%% is available on the job\n"
" 'form-commit' trigger command line, and is expanded when\n"
" the job is modified by a fix.\n"
"\n"
" form-delete:\n"
" Execute form trigger prior to delete of form after its\n"
" contents are parsed.\n"
"\n"
" journal-rotate:\n"
" Execute journal rotation trigger after the journal has been\n"
" rotated and after the database has been unlocked.\n"
"\n"
" journal-rotate-lock:\n"
" Execute journal rotation trigger after the journal has been\n"
" rotated, but before the database has been unlocked. All\n"
" commands against the server will wait for the trigger to\n"
" complete before running: do not run commands against the\n"
" server from this trigger.\n"
"\n"
" shelve-submit:\n"
" Execute pre-shelve trigger after changelist has been\n"
" created but prior to file transfer. Also executed for\n"
" reshelve command.\n"
"\n"
" shelve-commit:\n"
" Execute post-shelve trigger after files are shelved or\n"
" reshelved.\n"
"\n"
" shelve-delete:\n"
" Execute shelve trigger prior to discarding shelved files.\n"
"\n"
" push-submit:\n"
" Execute trigger during a push, fetch, or unzip operation,\n"
" after changelist has been created on the destination\n"
" server and files are locked but prior to file transfer.\n"
"\n"
" push-content:\n"
" Execute trigger during a push, fetch, or unzip operation,\n"
" after file transfer but prior to commit. Files can be\n"
" accessed by the trigger using any of the 'p4 diff2',\n"
" 'p4 files', 'p4 fstat', and 'p4 print' commands with\n"
" the revision specification '@=change', where 'change' is\n"
" the pending changelist number passed as %%changelist%%.\n"
"\n"
" push-commit:\n"
" Execute trigger during a push, fetch, or unzip operation,\n"
" after changelist commit.\n"
"\n"
" Path: For change and submit triggers, a file pattern to match files\n"
" in the changelist. This file pattern can be an exclusion\n"
" mapping (-pattern), to exclude files. For form triggers, the\n"
" name of the form (branch, client, etc). For fix triggers\n"
" 'fix' is required as the path value. For authentication\n"
" triggers, 'auth' is required as the path value. For archive\n"
" triggers, a file pattern to match the name of the file being\n"
" accessed in the archive. Note that, due to lazy copying when\n"
" branching files, the name of the file in the archive can not\n"
" be the same as the name of the file in the depot. For command\n"
" triggers, use the name of the command to match, e.g.\n"
" 'pre-user-$cmd' or a regular expression, e.g.\n"
" '(pre|post)-user-add'. For journal rotation triggers, set the\n"
" path value to 'any' if the trigger should run on all servers or\n"
" a suitable server.id or cluster.id may be used to restrict the\n"
" trigger to running on either a specific server or a named\n"
" group of servers.\n"
"\n"
" Command: The OS command to run for validation. If the command\n"
" contains spaces, enclose it in double quotes. The\n"
" following variables are expanded in the command string.\n"
" Use of the triggers.io configurable with a value greater than\n"
" zero is recommended, as some vars may be empty or contain\n"
" shell metacharacters.\n"
"\n"
" %%//depot/trigger.exe%% -- depot paths within %%vars%%\n"
" are filled with the path to a temporary file containing\n"
" the referenced file's contents. Only standard and stream\n"
" depot files whose contents is available are valid.\n"
" %%argc%% -- number of command arguments\n"
" %%args%% -- command argument string\n"
" %%argsQuoted%% -- command argument string, CSV delimited\n"
" %%client%% -- the client issuing the command\n"
" %%clientcwd%% -- client current working directory\n"
" %%clienthost%% -- the hostname of the client\n"
" %%clientip%% -- the IP address of the client\n"
" %%clientprog%% -- the program name of the client\n"
" %%clientversion%% -- the version of the client\n"
" %%command%% -- name of command being run\n"
" %%groups%% -- list of groups user is a member of\n"
" %%intermediateService%% -- presence of a Broker/Proxy/etc\n"
" %%maxErrorSeverity%% -- highest error seen for this cmd\n"
" %%maxErrorText%% -- text and errno for highest error\n"
" %%maxLockTime%% -- user-specified override of group value\n"
" %%maxOpenFiles%% -- user-specified override of group value\n"
" %%maxResults%% -- user-specified override of group value\n"
" %%maxScanRows%% -- user-specified override of group value\n"
" %%quote%% -- double quote character\n"
" %%serverhost%% -- the hostname of the server\n"
" %%serverid%% -- the value of the server's server.id\n"
" %%serverip%% -- the IP address of the server\n"
" %%servername%% -- the value of the server's $P4NAME\n"
" %%serverpid%% -- the PID of the server\n"
" %%serverport%% -- the IP address:port of the server\n"
" preceded by the transport prefix,\n"
" if needed (i.e. P4PORT)\n"
" %%serverroot%% -- the value of the server's $P4ROOT\n"
" %%serverservices%% -- the services provided by the server\n"
" %%serverVersion%% -- the server's version string\n"
" %%target%% -- target changelist for reshelve command\n"
" %%terminated%% -- if the command was forced to quit early\n"
" %%termReason%% -- reason for early termination\n"
" %%triggerMeta_action%% -- command to execute by trigger\n"
" %%triggerMeta_depotFile%% -- third field in trigger def.\n"
" %%triggerMeta_name%% -- name from trigger definition\n"
" %%triggerMeta_trigger%% -- second field in trigger definition\n"
" %%user%% -- the user issuing the command\n"
"\n"
" %%changelist%% -- the changelist being submitted\n"
" %%changeroot%% -- the root path of files submitted\n"
" %%oldchangelist%% -- the pre-commit changelist number\n"
" For push-* triggers, oldchangelist is\n"
" the changelist number in the source\n"
" server."
"\n"
" (More information can be gathered about the\n"
" changelist being submitted by running\n"
" 'p4 describe %%changelist%%'.)\n"
"\n"
" %%formfile%% -- path to temp file containing form\n"
" %%formname%% -- the form's name (branch name, etc)\n"
" %%formtype%% -- the type of form (branch, etc)\n"
" %%action%% -- added/deleted/submitted on job form-commit\n"
" %%specdef%% -- the definition of form's spec\n"
"\n"
" %%jobs%% -- list of job names for fix triggers\n"
"\n"
" %%op%% -- read/write/delete for archive access\n"
" %%file%% -- name of archive file\n"
" %%rev%% -- revision of archive file\n"
"\n"
" If the command was sent via a proxy, broker, or replica:\n"
" %%peerhost%% -- the hostname of the proxy/broker/replica\n"
" %%peerip%% -- the IP address of the proxy/broker/replica\n"
" If the command was sent directly, %%peerhost%% and\n"
" %%peerip%% match %%clienthost%% and %%clientip%%.\n"
"\n"
" For a change-* trigger in a distributed installation,\n"
" %%submitserverid%% -- the server.id where submit was run\n"
"\n"
" For a post-rmt-Push trigger:\n"
" %%firstPushedChange%% -- first new changelist number\n"
" %%lastPushedChange%% -- last new changelist number\n"
"\n"
" For a journal-rotate* trigger:\n"
" %%journal%% -- the name of the newly rotated journal\n"
" %%checkpoint%% -- the name of the newly created checkpoint\n"
" if a checkpoint was taken during the\n"
" journal rotation\n"
"\n"
" Note that not all variables are available for every\n"
" trigger type. E.g. argc and argv only show up for\n"
" pre-user-$cmd and change-submit (and so on), but not for\n"
" post-user-$cmd or change-commit.\n"
"\n"
" The command's standard input depends on the value of the\n"
" triggers.io configurable. When it is set to zero, stdin is\n"
" empty for change, shelve, fix and command triggers, it\n"
" is the file content for the archive, and password for auth\n"
" triggers. When triggers.io is set to 1, stdin is a textual\n"
" dictionary containing connection information that the trigger\n"
" must read (with the exception of archive/auth triggers,\n"
" which behave the same as when triggers.io=0.)\n"
"\n"
" If the command fails, the command's standard output (not\n"
" error output) is sent to the client as the text of a trigger\n"
" failure error message.\n"
"\n"
" If the command succeeds, the command's standard output is\n"
" sent as an unadorned message to the client for all triggers\n"
" except archive triggers; for archive triggers, the command's\n"
" standard output is the file content.\n"
"\n"
" The -o flag writes the trigger table to the standard output.\n"
" The user's editor is not invoked.\n"
"\n"
" The -i flag reads the trigger table from the standard input.\n"
" The user's editor is not invoked.\n"
"\n"
" 'p4 triggers' requires 'super' access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpTypeMap = { ErrorOf( ES_HELP, 81, E_INFO, EV_NONE, 0 ),
"\n"
" typemap -- Edit the filename-to-filetype mapping table\n"
"\n"
" p4 typemap\n"
" p4 typemap -o\n"
" p4 typemap -i\n"
"\n"
" 'p4 typemap' edits a name-to-type mapping table for 'p4 add', which\n"
" uses the table to assign a file's filetype based on its name.\n"
"\n"
" The typemap form has a single field, 'TypeMap', followed by any\n"
" number of typemap lines. Each typemap line contains a filetype\n"
" and a depot file path pattern:\n"
"\n"
" Filetype: See 'p4 help filetypes' for a list of valid filetypes.\n"
"\n"
" Path: Names to be mapped to the filetype. The mapping is\n"
" a file pattern in depot syntax. When a user adds a file\n"
" matching this pattern, its default filetype is the\n"
" file type specified in the table. To exclude files from\n"
" the typemap, use exclusionary (-pattern) mappings.\n"
" To match all files anywhere in the depot hierarchy,\n"
" the pattern must begin with '//...'. To match files\n"
" with a specified suffix, use '//.../*.suffix' or\n"
" use '//....suffix' (four dots).\n"
"\n"
" Later entries override earlier entries. If no matching entry is found\n"
" in the table, 'p4 add' determines the filetype by examining the file's\n"
" contents and execution permission bits.\n"
"\n"
" The -o flag writes the typemap table to standard output. The user's\n"
" editor is not invoked.\n"
"\n"
" The -i flag reads the typemap table from standard input. The user's\n"
" editor is not invoked.\n"
"\n"
" 'p4 typemap' requires 'admin' access, which is granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpUnlock = { ErrorOf( ES_HELP, 82, E_INFO, EV_NONE, 0 ),
"\n"
" unlock -- Release a locked file, leaving it open\n"
"\n"
" p4 unlock [-c | -s changelist# | -x] [-f] [file ...]\n"
" p4 -c client unlock [-f] -r\n"
"\n"
" 'p4 unlock' releases locks on the specified files.\n"
"\n"
" The changelist flag and file specification limit the files to be\n"
" unlocked. If no file specification is given and no changelist is\n"
" specified, all open files are unlocked.\n"
"\n"
" If a changelist is specified, only those files open in that\n"
" changelist are unlocked.\n"
"\n"
" If a file specification is given, only those files are unlocked.\n"
"\n"
" If both changelist and file specification are provided, only the\n"
" matching files in the specified changelist are unlocked.\n"
"\n"
" The -s flag unlocks files from a shelved changelist caused by an\n"
" aborted 'submit -e' operation. The -c flag applies to opened files\n"
" in a pending changelist locked by 'p4 lock' or by a failed submit\n"
" of a change that is not shelved.\n"
"\n"
" By default, files can be unlocked only by the changelist owner who\n"
" must also be the person who has the files locked. The -f flag\n"
" enables you to unlock files in changelists owned by other users.\n"
" The -f flag requires 'admin' access, which is granted by 'p4\n"
" protect'.\n"
"\n"
" If 'p4 unlock' is called from an Edge Server, any corresponding\n"
" files locked globally via 'p4 lock -g' by that client will be\n"
" unlocked on the Commit Server.\n"
"\n"
" The -x option unlocks files that are opened 'exclusive' but are\n"
" orphaned (see 'p4 opened -x'). This option only applies to a\n"
" distributed installation where global tracking of these file types\n"
" is necessary across servers. On the commit server, an administrator\n"
" may specify 'p4 -c client unlock -f -x [file...]' to unlock the\n"
" global exclusive locks of files which aren't marked orphaned.\n"
"\n"
" If a push command from a remote server to this server fails, files\n"
" can be left locked on this server, preventing other users from\n"
" submitting changes to those files. Files may also be left locked on\n"
" a Commit Server from a failed submit or unlock. In these cases, the\n"
" user who issued the failed command can specify the -r flag with the\n"
" name of the client that was used on that remote or commit server to\n"
" unlock the files on that server. An administrator can run\n"
" 'unlock -f -r' as well.\n"
};
ErrorId MsgHelp::HelpUnshelve = { ErrorOf( ES_HELP, 120, E_INFO, EV_NONE, 0 ),
"\n"
" unshelve -- Restore shelved files from a pending change into a workspace\n"
"\n"
" p4 unshelve -s changelist# [options] [file ...]\n"
" Options: [-A<f|s> -f -n] [-c changelist#]\n"
" [-b branch|-S stream [-P parent]]\n"
"\n"
" 'p4 unshelve' retrieves shelved files from the specified pending\n"
" changelist, opens them in a pending changelist and copies them\n"
" to the invoking user's workspace. Unshelving files from a pending\n"
" changelist is restricted by the user's permissions on the files.\n"
" A successful unshelve operation places the shelved files on the\n"
" user's workspace with the same open action and pending integration\n"
" history as if it had originated from that user and client.\n"
"\n"
" Unshelving a file over an already opened file is permitted if both\n"
" shelved file and opened file are opened for 'edit'. In a distributed\n"
" environment, the shelf must either be promoted or have been created\n"
" on the same edge server. After unshelving, the workspace file is\n"
" flagged as unresolved, and 'p4 resolve' must be run to resolve the\n"
" differences between the shelved file and the workspace file.\n"
"\n"
" Unshelving a file opened for 'add' when the file already exists\n"
" in the depot will result in the file being opened for edit. After\n"
" unshelving, the workspace file is flagged as unresolved, and\n"
" 'p4 resolve' must be run to resolve the differences between the\n"
" shelved file and the depot file at the head revision. Note that\n"
" unshelving a file opened for 'add' over an already opened file is\n"
" not supported.\n"
"\n"
" The -s flag specifies the number of the pending changelist that\n"
" contains the shelved files.\n"
"\n"
" If a file pattern is specified, 'p4 unshelve' unshelves files that\n"
" match the pattern.\n"
"\n"
" The -A flag specifies whether files and/or the stream spec (if any)\n"
" associated with the shelved changelist should be unshelved to the\n"
" current client; by default, the unshelve command acts on both the\n"
" files (-Af) and the stream spec (-As). (See 'p4 help streamcmds.)\n"
"\n"
" The -b flag specifies a branch spec that the shelved files will be\n"
" mapped through prior to being unshelved, allowing files to be shelved\n"
" in one branch and unshelved in another. As with unshelving into an\n"
" open file, it may be necessary to run 'p4 resolve'. In a distributed\n"
" environment, an additional requirement is that the shelve was created\n"
" on the same edge server.\n"
"\n"
" The -S flag uses a generated branch view to map the shelved files\n"
" between the specified stream and its parent stream. The -P flag\n"
" can be used to generate the view using a parent stream other than\n"
" the actual parent.\n"
"\n"
" The -c flag specifies the changelist to which files are unshelved.\n"
" By default, 'p4 unshelve' opens shelved files in the default\n"
" changelist.\n"
"\n"
" The -f flag forces the clobbering of any writeable but unopened files\n"
" that are being unshelved.\n"
"\n"
" The -n flag previews the operation without changing any files or\n"
" metadata.\n"
"\n"
" 'p4 unshelve' is not supported for files with propagating attributes\n"
" from an edge server in a distributed environment.\n"
};
ErrorId MsgHelp::HelpUser = { ErrorOf( ES_HELP, 83, E_INFO, EV_NONE, 0 ),
"\n"
" user -- Create or edit a user specification\n"
"\n"
" p4 user [-f] [name]\n"
" p4 user -d [-f | -F] name\n"
" p4 user -o [name]\n"
" p4 user -i [-f]\n"
"\n"
" Create a new user specification or edit an existing user specification.\n"
" The specification form is put into a temporary file and the editor\n"
" (configured by the environment variable $P4EDITOR) is invoked.\n"
"\n"
" Normally, a user specification is created automatically the first\n"
" time that the user issues any command that updates the depot. The\n"
" 'p4 user' command is typically used to edit the user's subscription\n"
" list for change review.\n"
"\n"
" The user specification form contains the following fields:\n"
"\n"
" User: The user name (read-only).\n"
"\n"
" Email: The user's email address (Default: user@client).\n"
"\n"
" Update: The date the specification was last modified (read-only).\n"
"\n"
" Access: The date that the user last issued a client command.\n"
"\n"
" FullName: The user's real name.\n"
"\n"
" JobView: Selects jobs that are displayed when the user creates\n"
" a changelist. These jobs can be closed automatically\n"
" when the user submits the changelist. For a description\n"
" of jobview syntax, see 'p4 help jobview'\n"
"\n"
" Reviews: The subscription list for change review. There is no\n"
" limit on the number of lines that this field can contain.\n"
" You can include the following wildcards:\n"
"\n"
" ... matches any characters including /\n"
" * matches any character except /\n"
"\n"
" Password: The user's password. See 'p4 help passwd'.\n"
"\n"
" Type: Must be 'service', operator, or 'standard'. Default is\n"
" 'standard'. Once set, the user type cannot be changed.\n"
"\n"
" AuthMethod: Must be 'perforce' or 'ldap'. Default is 'perforce'\n"
" Unless overridden by the 'auth.default.method'\n"
" configurable, see 'p4 help configurables'. AuthMethod\n"
" can only be changed when the -f flag has been provided.\n"
"\n"
" The -d flag deletes the specified user (unless the user has files\n"
" open).\n"
"\n"
" The -o flag writes the user specification to the standard output.\n"
" The user's editor is not invoked.\n"
"\n"
" The -i flag reads a user specification from the standard input.\n"
" The user's editor is not invoked.\n"
"\n"
" The -f flag forces the creation, update or deletion of the specified\n"
" user, and enables you to change the Last Modified date. By default,\n"
" users can only delete or modify their own user specifications. The\n"
" -f flag requires 'super' access, which is granted by 'p4 protect'.\n"
"\n"
" The -F flag, used only with -d, forces the deletion of the\n"
" specified user, and also removes the user from the protections\n"
" table and from all groups. This command fails if removing the\n"
" user from any group would cause the group to be deleted. In that\n"
" case the group should be deleted prior to deleting the user.\n"
" The -F flag requires 'super' access, which is granted by\n"
" 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpUsers = { ErrorOf( ES_HELP, 84, E_INFO, EV_NONE, 0 ),
"\n"
" users -- List Perforce users\n"
"\n"
" p4 users [-l -a -r -c] [-m max] [user ...]\n"
"\n"
" Lists all Perforce users or users that match the 'user' argument.\n"
" The report includes the last time that each user accessed the system.\n"
"\n"
" The -m max flag limits output to the first 'max' number of users.\n"
"\n"
" The -a flag includes service and operator users in the output.\n"
"\n"
" The -l flag includes additional information in the output. The -l\n"
" flag requires 'super' access, which is granted by 'p4 protect'.\n"
"\n"
" The -r and -c flags are only allowed on replica servers. When\n"
" -r is given only users who have used a replica are reported and\n"
" when -c is given only the user information from the central server\n"
" is reported. Otherwise on a replica server, the user list will\n"
" be slightly different from the master server as the user access times\n"
" will reflect replica usage or master usage whichever is newer.\n"
};
ErrorId MsgHelp::HelpVerify = { ErrorOf( ES_HELP, 85, E_INFO, EV_NONE, 0 ),
"\n"
" verify -- Verify that the server archives are intact\n"
"\n"
" p4 verify [-t | -u | -v | -z] [-m max -q -s -X -b N] file[revRange] ...\n"
" p4 verify -S [-t -m max -q -X -b N] file ...\n"
" p4 verify -U unloadfiles...\n"
" p4 verify -A archivefiles...\n"
"\n"
" For each revision of the specified files, 'p4 verify' reports\n"
" revision-specific information and an MD5 digest of the revision's\n"
" contents. See 'p4 help revisions' for help specifying revisions.\n"
"\n"
" By default, 'p4 verify' computes and displays the digest of each\n"
" revision. If a revision cannot be reproduced (for example, if the\n"
" file is missing from the archive), the revision's output line ends\n"
" with MISSING! If there is a saved digest, 'p4 verify' compares it\n"
" with the computed one. If they differ, the output line ends with BAD!\n"
"\n"
" The -m max flag specifies the maximum number of revisions to process.\n"
" This option can be used with the -u flag to compute and save digests\n"
" for a limited number of revisions in each 'p4 verify' invocation.\n"
"\n"
" The -t flag, for use only with a replica server, causes 'p4 verify'\n"
" to schedule transfer of the content of any damaged revision. The '-t'\n"
" option cannot be used with the '-v' or '-u' options.\n"
"\n"
" The -u flag computes and saves the digest only for revisions that\n"
" have no saved digest.\n"
"\n"
" The -v flag computes and saves the digest for each revision, regardless\n"
" of whether the revision already has a saved digest. This option can\n"
" be used to update the saved digest if the archive was deliberately\n"
" changed. The '-u' and '-v' options are mutually exclusive.\n"
"\n"
" The -z flag optimizes digest computations by skipping revisions that\n"
" have already been computed in the current pass. This option is useful\n"
" when the specified files contain lazy copies. The resulting output\n"
" might report a lazy copy revision if it is the first revision in the\n"
" sort order to access a common archive file. This option cannot be used\n"
" with the '-v' or '-u' options.\n"
"\n"
" The -q flag minimizes command output, displaying only errors from\n"
" mismatched digests or unreproducible revisions.\n"
"\n"
" The -s flag specifies that the file size should also be verified. The\n"
" -v flag implies the -s flag.\n"
"\n"
" The -X flag specifies that files with the +X filetype modifier should\n"
" be skipped.\n"
"\n"
" By default, 'p4 verify' processes files in batches of 10000 files at\n"
" a time. The -b flag specifies the batch size. Specify -b 0 to disable\n"
" batching and process all files in a single batch. If the -z flag is\n"
" specified, the -b flag is ignored and all files are processed in a\n"
" single batch.\n"
"\n"
" The following command verifies all revisions of all archive files:\n"
"\n"
" p4 verify -qz //...\n"
"\n"
" Saved digests are used by 'p4 diff' rather than recomputing them.\n"
"\n"
" The -S flag verifies shelved files. If -S is specified, the only\n"
" valid revision specifier is @=change, specifying a single shelf.\n"
" In a distributed installation, 'verify -S' should be run on the\n"
" Edge Server where the shelf was created. If the shelf has been\n"
" promoted, 'verify -S' may also be run on the Commit Server.\n"
"\n"
" The -U flag verifies files in the unload depot (see 'p4 help unload').\n"
"\n"
" The -A flag verifies files in the archive depot (see\n"
" 'p4 help archive').\n"
"\n"
" 'p4 verify' requires that the user be an operator or have 'admin'\n"
" access, which is granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpWhere = { ErrorOf( ES_HELP, 86, E_INFO, EV_NONE, 0 ),
"\n"
" where -- Show how file names are mapped by the client view\n"
"\n"
" p4 where [file ...]\n"
"\n"
" Where shows how the specified files are mapped by the client view.\n"
" For each argument, three names are produced: the name in the depot,\n"
" the name on the client in Perforce syntax, and the name on the client\n"
" in local syntax.\n"
"\n"
" If the file parameter is omitted, the mapping for all files in the\n"
" current directory and below) is returned.\n"
"\n"
" Note that 'p4 where' does not determine where any real files reside.\n"
" It only displays the locations that are mapped by the client view.\n"
};
ErrorId MsgHelp::HelpTunables = { ErrorOf( ES_HELP, 106, E_INFO, EV_NONE, 0 ),
"\n"
" For information on server configuration variables, see\n"
" 'p4 help configurables'.\n"
"\n"
" For information about unsupported server parameters, see the\n"
" 'configurables' section of 'p4 help undoc'. Change these values only\n"
" as directed by Technical Support.\n"
};
ErrorId MsgHelp::HelpDbschema = { ErrorOf( ES_HELP, 109, E_INFO, EV_NONE, 0 ),
"\n"
" dbschema -- Report meta database information\n"
"\n"
" p4 dbschema [tablename[:tableversion]]...\n"
"\n"
" 'p4 dbschema' reports database structure information about the\n"
" Perforce metadata. Super permission is required to execute this\n"
" command.\n"
"\n"
" The command reports schema information for the metadata tables.\n"
" By default, all current tables are reported. You can optionally specify\n"
" table names and versions. The results are returned as tagged output.\n"
" Table names are the file names that start with 'db.'\n"
};
ErrorId MsgHelp::HelpExport = { ErrorOf( ES_HELP, 112, E_INFO, EV_NONE, 0 ),
"\n"
" export -- Extract journal or checkpoint records\n"
"\n"
" p4 export -c token [-J prefix] [-f] [-l lines] [-F filter]\n"
" [-T tableexcludelist] [-P filterpattern]\n"
" p4 export -j token [-J prefix] [-f] [-l lines] [-F filter]\n"
" [-T tableexcludelist] [-P filterpattern]\n"
" p4 export -j token [-J prefix] -r [-F filter]\n"
" [-T tableexcludelist] [-P filterpattern]\n"
"\n"
" 'p4 export' extracts journal or checkpoint records from the Perforce\n"
" metadata. Super permission is required to execute this command.\n"
"\n"
" This command extracts records from database journals or checkpoints.\n"
" By default, the records are returned in tagged output. Compressed\n"
" journals or checkpoints are not supported.\n"
"\n"
" The -j token flag specifies a journal number and optional position\n"
" (in the form: journal number/offset) from which to start exporting.\n"
"\n"
" The -c token flag specifies a checkpoint number and optional position\n"
" (in the form: checkpoint number#offset) from which to start exporting.\n"
"\n"
" The -f flag formats non-textual datatypes appropriately.\n"
"\n"
" The -r flag changes the output to raw format (journals only).\n"
"\n"
" The -J prefix flag specifies a file name prefix to match the one used\n"
" with p4d -jc <prefix>.\n"
"\n"
" The -l flag limits the number of lines (records) exported.\n"
"\n"
" The -P filterpattern flag limits output to records that match the\n"
" filter pattern. Multiple filter patterns can be specified using\n"
" multiple -P flags. Each filter pattern should specify either a client\n"
" filter or a depot filter, and should specify whether the pattern is\n"
" to be included or excluded, using the syntax:\n"
"\n"
" -Pic://client/pattern -- client records to include\n"
" -Pxc://client/pattern -- client records to exclude\n"
" -Pif://depot/pattern -- depot records to include\n"
" -Pxf://depot/pattern -- depot records to exclude\n"
"\n"
" If at least one include pattern is specified using -P, all records\n"
" that are output will match one of the include patterns. If at least\n"
" one exclude pattern is specified using -P, all records that are\n"
" output will match none of the exclude patterns.\n"
"\n"
" The -F filter flag limits output to records that match the filter\n"
" pattern. The filter pattern uses the same syntax as the -F filter\n"
" flag on the 'p4 fstat' command. Filtering is case-sensitive.\n"
"\n"
" Example: -F \"table = db.protect\"\n"
"\n"
" The -T flag specifies a list of database tables that are excluded\n"
" from the exported output. To specify multiple tables, double-quote\n"
" the list and separate the table names with spaces. The table names\n"
" must start with \"db.\". Table names can also be separated by commas.\n"
"\n"
" Note: to delimit transactions and indicate the end of the journal,\n"
" additional fields are added to the tagged output.\n"
"\n"
" Note: The final record is a position record that specifies the\n"
" position where subsequent records are located. When processing a\n"
" checkpoint, a position can be either a continuation of the checkpoint\n"
" position (if the line count option was supplied) or a journal number.\n"
" When processing a journal, if the last record processed is the last\n"
" record the server has written, an 'atend' tag is inserted. This\n"
" tag indicates to a polling process that it must wait for more data\n"
" before issuing the next export command. Note that this final record\n"
" is not filtered.\n"
"\n"
" Note: Journal 'ex' records can have a 'markers' tag, with the value\n"
" 'complete'. This tag indicates that, when that transaction ended,\n"
" there were no known outstanding transactions.\n"
"\n"
" Note: Raw journal output places the raw journal text in a 'data' tag.\n"
" Other tags can indicate positions where transactions were known to be\n"
" complete in the journal.\n"
};
ErrorId MsgHelp::HelpReplicate = { ErrorOf( ES_HELP, 121, E_INFO, EV_NONE, 0 ),
"\n"
" replicate -- poll for journal changes and apply them to another server\n"
"\n"
" p4 replicate [-j token][-s statefile][-i interval][-k -x -R]\n"
" [-J prefix][-T tables excluded][-o output][command]\n"
"\n"
" This client command polls for new journal entries from a server and\n"
" outputs them or invokes another command that pipes the journal records\n"
" to a subprocess.\n"
"\n"
" The -j token flag specifies a journal number and optional position\n"
" (journal number/offset) from which to start replicating.\n"
"\n"
" The -J prefix flag specifies a file name prefix to match the one used\n"
" with p4d -jc <prefix>.\n"
"\n"
" The -s statefile flag specifies a file that tracks the most recent\n"
" journal position.\n"
"\n"
" The -i interval flag specifies a polling interval. A zero interval\n"
" causes the client to check once and exit (default value is 2 seconds).\n"
"\n"
" The -k flag configures the pipe to the sub-process command to remain\n"
" open across polling intervals. By default, the pipe to the sub-\n"
" process is restarted for every record batch.\n"
"\n"
" The -x flag configures 'p4 replicate' to terminate when a\n"
" journal rotation is detected.\n"
"\n"
" The -R flag causes the command to attempt reconnection to the server\n"
" in the event of a connection loss or serious error. An interval\n"
" must be given with this option.\n"
"\n"
" The -T flag specifies a quoted, space separated list of table names\n"
" which should not be transferred for replication.\n"
"\n"
" The -o output flag specifies an output file where journal records\n"
" are written in addition to the sub-process command.\n"
"\n"
" See Perforce Knowledge Base article 1099 for detailed usage.\n"
"\n"
" Super permission is required to run this command.\n"
};
ErrorId MsgHelp::HelpReshelve = { ErrorOf( ES_HELP, 193, E_INFO, EV_NONE, 0 ),
"\n"
" reshelve -- Copy shelved files to a new or existing shelf.\n"
"\n"
" p4 reshelve [-p] -s changelist# [file ...]\n"
" p4 reshelve [-f] [-p] -s changelist# -c changelist# [file ...]\n"
"\n"
" 'p4 reshelve' copies shelved files from an existing shelf into\n"
" either a new shelf or one that has already been created. This\n"
" command leaves the source shelf intact.\n"
"\n"
" If a file pattern is specified, 'p4 reshelve' shelves the files that\n"
" match the pattern.\n"
"\n"
" The -s flag specifies the shelved changelist that contains the\n"
" shelved files to be copied.\n"
"\n"
" The -c flag specifies the pending changelist that will be the target\n"
" for the shelved files rather than creating a new one. To update\n"
" a target shelf you must be the owner of the changelist.\n"
"\n"
" The -f (force) flag must be used when the same file already exists in\n"
" the target changelist in order to overwrite it.\n"
"\n"
" The -p flag promotes the new or target changelist where it can be\n"
" accessed by other edge servers participating in the distributed\n"
" configuration. Once a shelved change has been promoted, all\n"
" subsequent local modifications to the shelf are also pushed to\n"
" the commit server and remain until the shelf is deleted.\n"
};
ErrorId MsgHelp::HelpDbstat = { ErrorOf( ES_HELP, 113, E_INFO, EV_NONE, 0 ),
"\n"
" dbstat -- Display size or simple statistics for a database table\n"
"\n"
" p4 dbstat [-h] [-f] { -a | dbtable ... }\n"
" p4 dbstat -s\n"
"\n"
" The -h flag displays a histogram showing the distances between\n"
" leaf pages, enabling you to anticipate disk seeks required for\n"
" sequential database scans. Dbstat scans only the internal node\n"
" pages of the file, not the leaf or overflow pages, and thus\n"
" reads only 1-5%% of the file. Use this command with caution:\n"
" it locks out write access to the database table during its scan.\n"
"\n"
" The -f flag outputs a page count, pages free, and percent free.\n"
" If the -h flag is given together with -f, a histogram of free page\n"
" distribution is shown and distance report is omitted.\n"
"\n"
" The -a flag outputs infomation for all tables.\n"
"\n"
" The -s flag returns the size of the database table files.\n"
"\n"
" This command requires that the user be an operator or have 'super'\n"
" access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpDbverify = { ErrorOf( ES_HELP, 141, E_INFO, EV_NONE, 0 ),
"\n"
" dbverify -- Perform low-level verification of the database tables\n"
"\n"
" p4 dbverify [-t db.table] [-U] [-v]\n"
"\n"
" This command performs a series of low-level structural integrity\n"
" checks on the Perforce database tables. It can be run periodically\n"
" to determine if tables have become damaged.\n"
"\n"
" The -t flag restricts the verification to the specified table.\n"
"\n"
" The -U flag specifies that only the table-not-unlocked check should\n"
" be performed. This check is very fast, so it can be performed\n"
" routinely. The table-not-unlocked check reports if, at some time in\n"
" the past, the table was opened and written, but not cleanly closed.\n"
"\n"
" The -v flag gives verbose information on the verification.\n"
"\n"
" This command requires that the user be an operator or have 'super'\n"
" access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpLogstat = { ErrorOf( ES_HELP, 114, E_INFO, EV_NONE, 0 ),
"\n"
" logstat -- Report the size of the journal, error log, audit log,\n"
" or server log files\n"
"\n"
" p4 logstat [-s | -l log]\n"
"\n"
" If the -l argument is not specified, logstat reports the file size\n"
" of the server's journal, error log, and audit log, skipping those\n"
" which are not defined for this server.\n"
"\n"
" If the -s flag is provided, logstat also reports the file size for\n"
" each of the structured log files defined for this server."
"\n"
" If a named log is specified using the -l flag, logstat instead\n"
" reports the file size of that named log. The log name should be one\n"
" of: 'journal', 'errorLog', 'auditLog', or the name of one of the\n"
" structured log files defined with 'serverlog.file.N'.\n"
"\n"
" This command requires that the user be an operator or have 'super'\n"
" access, which is granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpLogappend = { ErrorOf( ES_HELP, 142, E_INFO, EV_NONE, 0 ),
"\n"
" logappend -- Write text to any 'user' log files.\n"
"\n"
" p4 logappend -a args...\n"
"\n"
" Logappend writes the user-supplied text arguments to any\n"
" structured server log file which is including 'user' log events.\n"
"\n"
" At most 25 arguments may be specified to the command.\n"
"\n"
" This command requires that the user be an operator or have 'list'\n"
" access, which is granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpLogrotate = { ErrorOf( ES_HELP, 136, E_INFO, EV_NONE, 0 ),
"\n"
" logrotate -- Rotate one or more server log files\n"
"\n"
" p4 logrotate [-l logname]\n"
"\n"
" Logrotate rotates the named logfile, or rotates all server logs if\n"
" the -l flag is not specified. This only applies to structured logs.\n"
"\n"
" This command requires that the user be an operator or have 'super'\n"
" access, which is granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpLogparse = { ErrorOf( ES_HELP, 143, E_INFO, EV_NONE, 0 ),
"\n"
" logparse -- Parse a server logfile and return log data\n"
"\n"
" p4 logparse [-e] [-T field,field...] [-F filter] [-s offset] [-m max]\n"
" logfilename\n"
"\n"
" Logparse parses the indicated structured logfile and returns the\n"
" log data in tagged format. It does not work on the basic errorLog or\n"
" auditLog. See the logtail command for reading the errorLog.\n"
"\n"
" The -e flag displays special characters as hexadecimal encodings.\n"
"\n"
" The -T flag can be used to limit the fields that are displayed.\n"
"\n"
" The -F flag limits output to records that match the filter pattern.\n"
"\n"
" The -s flag starts the parse at the given file offset (as returned\n"
" in the f_offset field.)\n"
"\n"
" The -m flag limits the number of lines returned.\n"
"\n"
" This command requires that the user be an operator or have 'super'\n"
" access, which is granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpLogschema = { ErrorOf( ES_HELP, 144, E_INFO, EV_NONE, 0 ),
"\n"
" logschema -- Describe the schema of a log record type\n"
"\n"
" p4 logschema [-a | recordtype]\n"
"\n"
" Logschema returns a description of the specified log record type.\n"
"\n"
" The -a flag requests a specification of every known log record type.\n"
"\n"
" This command requires that the user be an operator or have 'super'\n"
" access, which is granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpLockstat = { ErrorOf( ES_HELP, 115, E_INFO, EV_NONE, 0 ),
"\n"
" lockstat -- Report lock status of database tables\n"
"\n"
" p4 lockstat [-c client | -C]\n"
"\n"
" By default, lockstat reports database tables that are currently\n"
" locked for a read or write operation.\n"
"\n"
" If the -c argument is supplied, lockstat instead reports whether the\n"
" specified client workspace is currently locked for a read or write\n"
" operation.\n"
"\n"
" If the -C argument is supplied, lockstat instead reports on all client\n"
" workspaces that are currently locked for a read or write operation.\n"
"\n"
" Database table lock information is also reported by 'p4 monitor' if\n"
" the server has been configured to collect that data. For more\n"
" information, see 'p4 help monitor'.\n"
"\n"
" This command requires that the user be an operator or have 'super'\n"
" access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpLogtail = { ErrorOf( ES_HELP, 116, E_INFO, EV_NONE, 0 ),
"\n"
" logtail -- Display the last block(s) of the errorLog\n"
"\n"
" p4 logtail [-b blocksize] [-s startingOffset [-m maxBlocks]] [-l log]\n"
"\n"
" Logtail outputs the last block(s) of the errorLog and the offset\n"
" required to get the next block when it becomes available.\n"
"\n"
" The -s flag option enables you to specify the offset from the\n"
" beginning of the file (in bytes).\n"
"\n"
" The -b flag specifies the block size in bytes (default 8192).\n"
"\n"
" The -m flag specifies a maximum number of blocks to output.\n"
" The -m flag is ignored unless the -s flag is specified.\n"
"\n"
" By default, the command outputs all blocks from the offset until the\n"
" end of the file. The data is returned in the tagged field 'data', in\n"
" blocks of the size specified by the blocksize parameter. The 'offset'\n"
" field contains the start of the next block, which can be used with -s\n"
" to request the next batch of errorLog data.\n"
"\n"
" If a named log is specified using the -l flag, logtail instead\n"
" outputs the last block(s) of that named log.\n"
"\n"
" This command requires that the user be an operator or have 'super'\n"
" access, which is granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpDbpack = { ErrorOf( ES_HELP, 117, E_INFO, EV_NONE, 0 ),
"\n"
" dbpack -- reorder database index pages (unsupported)\n"
"\n"
" p4 dbpack [-c pages -l level] { -a | dbtable... }\n"
"\n"
" Dbpack reorders database index pages so that leaf pages are sequential.\n"
"\n"
" The -c flag causes the operation to stop after the specified number of\n"
" leaf pages are reordered.\n"
"\n"
" The -l flag is a threshold that must be exceeded before an index\n"
" page is reordered. Values for threshold can be:\n"
"\n"
" 0: index page more than 90%% full and 80%% out of order (default)\n"
" 1: index page more than 50%% full and 50%% out of order\n"
" 2: index page more than 0%% out of order\n"
"\n"
" The -a flag reorders all tables.\n"
"\n"
};
ErrorId MsgHelp::HelpPing = { ErrorOf( ES_HELP, 118, E_INFO, EV_NONE, 0 ),
"\n"
" ping -- test network performance\n"
"\n"
" p4 ping [-f][-p pausetime][-c count][-t seconds][-i iterations]\n"
" [-s send size][-r receive size]\n"
"\n"
" Ping sends messages from the server to the client and back, timing\n"
" the round trips. The round trip time is typically too fast to time\n"
" a single packet, so a number of packets are sent. Ping reports the\n"
" time in milliseconds.\n"
"\n"
" The -c flag specifies the number of messages in a test.\n"
"\n"
" The -t flag specifies how long to transmit (maximum 6000 seconds).\n"
"\n"
" The -i flag specifies the number of times to repeat the test.\n"
"\n"
" The -f flag causes the server to transmit continuously, without\n"
" waiting for one message to be confirmed before sending the next.\n"
"\n"
" The -p flag specifies how long to pause between tests: specify 0 for\n"
" no pause (maximum wait 120 seconds).\n"
"\n"
" The -s flag specifies the server-to-client message size, up to a\n"
" maximum value of 10,000,000 bytes\n"
"\n"
" The -r flag specifies the client-to server message size, up to a\n"
" maximum value of 100,000 bytes\n"
"\n"
" Be advised that 'p4 ping' can flood the network with traffic. The\n"
" 'ping' command requires admin privileges.\n"
"\n"
};
ErrorId MsgHelp::HelpConfigure = { ErrorOf( ES_HELP, 124, E_INFO, EV_NONE, 0 ),
"\n"
" configure -- manage server configuration variables\n"
"\n"
" p4 configure set [<serverid>#]variable=value\n"
" p4 configure unset [<serverid>#]variable }\n"
" p4 configure show [allservers | <serverid> | <variable>]\n"
"\n"
" 'p4 configure set' sets the value of the specified configuration\n"
" variable. For a list of configuration variables, see 'p4 help\n"
" configurables'.\n"
"\n"
" Server names are useful when multiple servers share the table. If the\n"
" serverid has been defined for a server (see 'p4 help serverid'),\n"
" the serverid is used as the server name. The server name can also be\n"
" explicitly specified using P4NAME or -In.\n"
"\n"
" In the 'p4 configure' command, if the serverid is omitted, the\n"
" special server name 'any' is used, and the value is used by any\n"
" server that is using this server root.\n"
"\n"
" 'p4 configure unset' removes the specified configuration variable.\n"
"\n"
" 'p4 configure show' displays the current configuration of this\n"
" server.\n"
"\n"
" 'p4 configure show allservers' displays the persistent configuration\n"
" variables for all servers.\n"
"\n"
" 'p4 configure show <serverid>' displays the persistent configuration\n"
" variables that are set for the specified server.\n"
"\n"
" 'p4 configure show <variable>' displays the setting(s) of the\n"
" specified variable. This variant of the command shows all the\n"
" settings of the variable that it can find, in order of precedence,\n"
" and can be useful for understanding why a particular variable is\n"
" not configured with the value that you expect, since variable\n"
" settings can come from multiple sources.\n"
"\n"
" Note that the following variables cannot be set using 'p4 configure':\n"
" 'unicode', 'P4JOURNAL', and 'P4ROOT'.\n"
"\n"
" This command requires that the user be an operator or have 'super'\n"
" access, which is granted by 'p4 protect'.\n"
"\n"
};
ErrorId MsgHelp::HelpPull = { ErrorOf( ES_HELP, 129, E_INFO, EV_NONE, 0 ),
"\n"
" pull -- cause this replica server to retrieve data from its target\n"
"\n"
" p4 pull [-J prefix] [-i <N>] [-b <N>]\n"
" [-T tableexcludelist] [-P serverid]\n"
" p4 pull -u [-i <N> -b <N> --batch N]\n"
" p4 pull -l [ -s | -j [-J prefix] ]\n"
" p4 pull -d -f file -r revision\n"
" p4 pull -L [-i <N>]\n"
"\n"
" 'p4 pull' instructs this replica server to retrieve either journal\n"
" records or file contents from its target server.\n"
"\n"
" The -i flag causes the command to automatically repeat its action\n"
" every N seconds. If -i is not specified, the command runs once,\n"
" then exits.\n"
"\n"
" The -b flag specifies a wait time before retrying a pull after\n"
" a failed pull attempt. This defaults to 60 seconds.\n"
"\n"
" The -u flag causes the command to retrieve file content. If -u is\n"
" not specified, the command retrieves journal records and applies\n"
" them to this server. Multiple 'p4 pull -u' commands may be active\n"
" on a single replica server.\n"
"\n"
" The -l flag displays information about pending file content\n"
" transfers. If -s is also specified, only a summary is displayed.\n"
" If -j is instead specified, a summary of pending journal transfers\n"
" is displayed.\n"
"\n"
" The -d flag specifies that the pending file content transfer should\n"
" be cancelled. You must also specify the filename and revision using\n"
" the -f and -r flags. Note that this is not the normal Perforce file\n"
" and revision data, but rather the archive file and revision. The\n"
" correct archive filename and revision information to provide can be\n"
" viewed using 'pull -l'. The 'pull -d' command can be useful when a\n"
" file transfer is failing due to unrecoverable errors on the master.\n"
"\n"
" Without -u, -l, or -d, pull retrieves journal records.\n"
"\n"
" For the pull command which retrieves journal records, you may specify\n"
" -i 0, which causes the pull thread to use an alternate scheduling\n"
" algorithm that can reduce replica lag at the cost of slightly higher\n"
" resource use on the target server.\n"
"\n"
" The -J prefix flag can be used when pulling journal records or when\n"
" listing pending journal transfers to specify a file name prefix to\n"
" match the one used with p4d -jc prefix.\n"
"\n"
" The -P flag controls replica data filtering. Typically, filtering is\n"
" defined in the server spec (see 'p4 help server'), and the replica's\n"
" journal pull thread specifies the replica's serverid to enable the\n"
" filtering. It is also possible to specify 'p4 export' filter patterns\n"
" using the -P flag, although this is an unusual configuration style.\n"
" See 'p4 help export' for information about filter patterns.\n"
"\n"
" The -T flag specifies a list of database tables that are excluded\n"
" from the journal records. To specify multiple tables, double-quote\n"
" the list and separate the table names with spaces. The table names\n"
" must start with \"db.\". Table names can also be separated by commas.\n"
"\n"
" The -L flag specifies that journal records shall be retrieved from a\n"
" local journal file, such as is produced by 'p4 journalcopy'. The\n"
" 'pull -L' and 'journalcopy' commands are designed to be used together\n"
" in a standby replica (see 'p4 help replication').\n"
"\n"
" The --batch flag specifies the number of files a pull thread should\n"
" process in a single request. The default is 1 and is usually\n"
" adequate. For high-latency configurations, a larger value may\n"
" improve archive transfer speed for large numbers of small files.\n"
"\n"
" This command requires 'super' access granted by 'p4 protect'.\n"
"\n"
};
ErrorId MsgHelp::HelpConfigurables = { ErrorOf( ES_HELP, 130, E_INFO, EV_NONE, 0 ),
"\n"
" Perforce server configurables\n"
"\n"
" The Perforce server behavior can be controlled by setting\n"
" configuration variables using the 'p4 configure set' command. The\n"
" configuration variables that can be set include the following, in\n"
" addition to environment variables (see 'p4 help environment'):\n"
"\n"
" Name Default Use\n"
" ---- ------- ---\n"
" auth.autologinprompt 1 Allow P4 to prompt users to login\n"
" auth.default.method perforce Default auth method for new users\n"
" perforce: classic password validation\n"
" ldap: passwords validated by LDAP server\n"
" auth.id none Unique identifier for authentication\n"
" auth.ldap.cafile none Path to PEM encoded CA validation file\n"
" auth.ldap.order.N none Enabled LDAP configuration names\n"
" auth.ldap.sslciphers none SSL ciphers to present to LDAP servers\n"
" auth.ldap.ssllevel 0 Level of SSL certificate validation\n"
" 0: no validation (default)\n"
" 1: Cert must be valid, but CN not checked\n"
" 2: Cert must be valid and CN must match\n"
" auth.ldap.timeout 30 Maximum wait time for LDAP connections\n"
" auth.ldap.userautocreate 0 Enables user autocreation on successful auth\n"
" db.peeking 2 Lockless operation\n"
" 0: classic locking\n"
" 1: new locking\n"
" 2: basic lockless operation (default)\n"
" 3: extra lockless operation\n"
" db.peeking.usemaxlock 0 When peeking, obey maxlocktime setting.\n"
" db.replication none Replica metadata access mode\n"
" dbjournal.bufsize 16K Journal/checkpoint read/write size\n"
" dbopen.nofsync 0 Disable fsync of db files\n"
" defaultChangeType none Default for new change: public/restricted\n"
" dm.annotate.maxsize 10M Maximum revision size for default annotate\n"
" dm.domain.accessupdate 300 Time interval to update domain access time\n"
" dm.domain.accessforce 3600 Time interval to force domain access time\n"
" dm.grep.maxrevs 10K Maximum number of revs that can be searched\n"
" dm.keys.hide 0 Users require admin for 'keys' command\n"
" dm.password.minlength 8 Minimum password length (when enabled)\n"
" dm.proxy.protects 1 Add 'proxy-' to IP (see 'p4 help protect')\n"
" dm.resolve.attrib 1 Enable resolve for attributes\n"
" dm.rotatelogwithjnl 1 Rotate logs when journals are rotated.\n"
" dm.shelve.accessupdate 300 Time interval to update shelve access time\n"
" dm.shelve.maxfiles 10M Max number of files that can be shelved\n"
" dm.shelve.maxsize 0 Limit size of a file that can be shelved\n"
" dm.shelve.promote 0 Promote shelved changes from edge server\n"
" dm.user.accessupdate 300 Time interval to update user access time\n"
" dm.user.accessforce 3600 Time interval to force user access time\n"
" dm.user.loginattempts 3 Number of password attempts before delay\n"
" dm.user.noautocreate 0 User autocreation level\n"
" dm.user.resetpassword 0 New user requires password reset\n"
" filesys.binaryscan 64K 'add' looks this far for binary chars\n"
" filesys.bufsize 4K Client file I/O buffer size\n"
" filesys.depot.min 250M Minimum space for depot filesystem\n"
" filesys.extendlowmark 32K Minimum filesize before preallocation(NT)\n"
" filesys.P4ROOT.min 250M Minimum space for P4ROOT filesystem\n"
" filesys.P4JOURNAL.min 250M Minimum space for P4JOURNAL filesystem\n"
" filesys.P4LOG.min 250M Minimum space for P4LOG filesystem\n"
" filesys.TEMP.min 250M Minimum space for TEMP filesystem\n"
" filetype.maxtextsize 10M Maximum file size for text type detection\n"
" journalPrefix none Prefix or directory location for journal\n"
" lbr.autocompress 0 Use compressed text storage instead of RCS\n"
" lbr.bufsize 4K Archive file I/O buffer size\n"
" lbr.proxy.case 1 Proxy cache case-handling (see 'p4p -h')\n"
" lbr.rcs.maxlen 10M Maximum line length in a +k file.\n"
" lbr.replication none Replica depot access and replication mode\n"
" lbr.retry.max 50 Times replica should retry failed transfer\n"
" lbr.stat.interval 0 Proxy file status interval (see 'p4p -h')\n"
" lbr.verify.in 1 Verify contents from the client to server\n"
" lbr.verify.out 1 Verify contents from the server to client\n"
" lbr.verify.script.out 1 Verify +X contents from server to client\n"
" log.originhost 1 Origin and peer IPs in the structured logs\n"
" minClient none Lowest client version that may connect\n"
" minClientMessage none Message to issue for client-too-old\n"
" monitor 0 Server monitoring level\n"
" monitor.lsof none Set to /usr/bin/lsof to enable on Linux\n"
" net.backlog 10 Maximum pending connections queue length\n"
" net.keepalive.disable 0 Disable sending TCP keepalive packets\n"
" net.keepalive.idle 0 Seconds before starting to send keepalives\n"
" net.keepalive.interval 0 Seconds between sending keepalives\n"
" net.keepalive.count 0 Unacknowledged keepalives before failure\n"
" net.maxfaultpub 100 Max size of faults (MB) to share via proxy\n"
" net.maxwait 0 Seconds to wait for a network read or write\n"
" net.mimcheck 1 Man-in-the-middle network security level\n"
" net.parallel.max 0 Highest allowed degree of parallel transfer\n"
" net.parallel.threads none Auto parallel sync w/#threads\n"
" net.parallel.batch 8 Files in batch for auto parallel sync\n"
" net.parallel.batchsize 512K Size of batch for auto parallel sync\n"
" net.parallel.min 9 Minimum # files for auto parallel sync\n"
" net.parallel.minsize 576K Minimum size for auto parallel sync\n"
" net.parallel.submit.threads none Auto parallel submit w/#threads\n"
" net.parallel.submit.batch 8 Files in batch for auto parallel submit\n"
" net.parallel.submit.min 9 Minimum # files for auto parallel submit\n"
" net.reuseport 0 Set SO_REUSEPORT for listening socket\n"
" net.rfc3484 0 Allow OS to choose between IPv4 and IPv6\n"
" net.tcpsize 512K TCP sndbuf/rcvbuf sizes set at connect\n"
" proxy.monitor.level 0 Proxy monitoring level (see 'p4p -h')\n"
" proxy.monitor.interval 10 Proxy monitoring interval (see 'p4p -h')\n"
" rcs.nofsync 0 Disable fsync of RCS files\n"
" rejectList none List of server blocked applications\n"
" rpl.checksum.auto 0 Level to checksum when rotating journal\n"
" rpl.checksum.change 0 Control change-by-change checksum behavior\n"
" rpl.checksum.table 0 Control table checksum behavior\n"
" rpl.compress 0 Enable replica-master network compression\n"
" rpl.forward.all 0 Enable replica update command forwarding\n"
" rpl.forward.login 0 Enable replica login command forwarding\n"
" rpl.jnl.batch.size 100M Max size of a single journal transfer\n"
" rpl.jnlwait.adjust 25 Per-loop ms to add to rpl.jnlwait.interval\n"
" rpl.jnlwait.interval 50 Initial value in ms of jnlwait loop timer\n"
" rpl.jnlwait.max 1000 Highest value in ms that loop will attain\n"
" rpl.journal.ack 0 In DCS, number of ACKs requested\n"
" rpl.journal.ack.min 0 In DCS, number of ACKs required\n"
" rpl.labels.global 0 Label default for distributed installations\n"
" rpl.pull.position 0 Interval in ms for pull position reports\n"
" rpl.replay.userrp 0 Include db.user.rp data from P4TARGET\n"
" rpl.verify.cache 0 Verify contents in the replica cache\n"
" run.unzip.user.allow 0 Should 'p4 unzip' allow '-u'\n"
" run.users.authorize 0 Should 'p4 users' require authentication\n"
" security 0 User/password security level\n"
" server.allowfetch 0 Whether changes can be fetched:\n"
" 1: This server can fetch from other servers\n"
" 2: Other servers can fetch from this server\n"
" 3: Both (1) and (2) are allowed\n"
" server.allowpush 0 Whether changes can be pushed:\n"
" 1: This server can push to other servers\n"
" 2: Other servers can push to this server\n"
" 3: Both (1) and (2) are allowed\n"
" server.allowrewrite 0 Whether submitted changes can be rewritten\n"
" server.depot.root Base directory of depots with relative maps\n"
" server.locks.dir \"server.locks\" server lock directory\n"
" server.locks.archive 1 Should archive command lock rev data\n"
" server.locks.sync 0 Should sync command lock client workspace\n"
" server.commandlimits 0 Policy for per-command resource limits\n"
" server.global.client.views\n"
" 0 Set to 1 to make client view maps global\n"
" either globally:\n"
" server.global.client.views=1\n"
" or scoped on replica:\n"
" replica#server.global.client.views=1\n"
" server.maxcommands 0 Max simultaneous commands (if monitoring)\n"
" server.rolechecks 0 Should server enforce 'p4 server' settings\n"
" serverlog.file.N none Server log file name(s)\n"
" serverlog.maxmb.N none Size at which log file should be rotated\n"
" serverlog.retain.N none Number of rotated log files to retain\n"
" serverlog.counter.N none Counter to use for file rotation number\n"
" serviceUser none Intermediate service identity\n"
" spec.hashbuckets 99 Hash spec domains to sub directories\n"
" ssl.secondary.suite 0 Set SSL cipher suite to the secondary choice\n"
" startup.N none Background 'pull' command(s) for replica\n"
" statefile none Replica server state tracking file name\n"
" submit.noretransfer 0 Avoid file re-transfer after failed submit\n"
" submit.unlocklocked 0 Unlock locked files if submit fails\n"
" submit.identity none Changelist identity auto-generation:\n"
" uuid: generate as uuid\n"
" checksum: generate as checksum\n"
" serverid: generate as serverid+change\n"
" sys.rename.max 10 Limit for retrying a failed file rename\n"
" sys.rename.wait 1000 Timeout in ms between file rename attempts\n"
" template.client Client to use as template if -t omitted\n"
" template.label Label to use as template if -t omitted\n"
" triggers.io 0 Method used for server/trigger communication\n"
" zerosyncPrefix none Client prefix for zerosync (-k) namespace\n"
"\n"
" Perforce client configurables\n"
"\n"
" The Perforce client behavior can be controlled by setting certain\n"
" environment variables (see 'p4 help environment'). Additionally, a\n"
" P4CONFIG file may contain settings for the following configurables\n"
" to affect certain client behaviors:\n"
"\n"
" Name Default Use\n"
" ---- ------- ---\n"
" filesys.binaryscan 64K 'add' looks this far for binary chars\n"
" filesys.bufsize 4K Client file I/O buffer size\n"
" lbr.verify.out 1 Verify contents from the server to client\n"
" net.keepalive.disable 0 Disable sending TCP keepalive packets\n"
" net.keepalive.idle 0 Seconds before starting to send keepalives\n"
" net.keepalive.interval 0 Seconds between sending keepalives\n"
" net.keepalive.count 0 Unacknowledged keepalives before failure\n"
" net.maxwait 0 Seconds to wait for a network read or write\n"
" net.rfc3484 0 Allow OS to choose between IPv4 and IPv6\n"
" net.tcpsize 512K TCP sndbuf/rcvbuf sizes set at connect\n"
" sys.rename.max 10 Limit for retrying a failed file rename\n"
" sys.rename.wait 1000 Timeout in ms between file rename attempts\n"
"\n"
};
ErrorId MsgHelp::ResolveUserHelp = { ErrorOf( ES_HELP, 22, E_INFO, EV_NONE, 1 ),
"%resolveType% options:\n"
"\n"
" Accept:\n"
" at Keep action from their file.\n"
" ay Keep only action from your file.\n"
" am Keep merged action.\n"
" a Keep autoselected action.\n"
"\n"
" Misc:\n"
" s Skip this file.\n"
" h Print this help message.\n"
" ^C Quit the resolve operation.\n"
};
ErrorId MsgHelp::HelpServer = { ErrorOf( ES_HELP, 137, E_INFO, EV_NONE, 0 ),
"\n"
" server -- Create, modify, or delete a server specification\n"
"\n"
" p4 server <serverID>\n"
" p4 server -g \n"
" p4 server -d <serverID>\n"
" p4 server -o [-l | -c edge-server|commit-server] <serverID>\n"
" p4 server -i [-c edge-server|commit-server]\n"
" p4 server -c edge-server|commit-server <serverID>\n"
"\n"
" A server specification describes the high-level configuration\n"
" and usage of a server. For installations with only a single server,\n"
" the server specification is optional; server specifications are\n"
" necessary when your installation expands to include features such\n"
" as: replication, proxying, disaster recovery, etc.\n"
"\n"
" For additional help on replication, see 'p4 help replication'.\n"
"\n"
" The 'server' command puts the server spec into a temporary file and\n"
" invokes the editor configured by the environment variable $P4EDITOR.\n"
" Saving the file creates or modifies the server spec.\n"
"\n"
" The server spec contains the following fields:\n"
"\n"
" ServerID: The UUID of the server.\n"
"\n"
" Type: The server executable type.\n"
" One of: server(p4d), proxy(p4p), broker(p4broker)\n"
"\n"
" %'Services'%: Services provided by this server.\n"
" One of the following (grouped by server type):\n"
" Type %''server''%:\n"
" %'standard'%: standard %'Perforce'% server\n"
" %'replica'%: read-only replica server\n"
" %'commit-server'%: central server in distributed installation\n"
" %'edge-server'%: node in distributed installation\n"
" %'forwarding-replica'%: replica which forwards update commands\n"
" %'build-server'%: replica which supports build farm integration\n"
" %'P4AUTH'%: server which provides central authentication\n"
" %'P4CHANGE'%: server which provides central change numbers\n"
" %'depot-master'%: commit-server with automated failover\n"
" %'depot-standby'%: standby replica of the depot-master\n"
" %'workspace-server'%: node in data center installation\n"
" %'standby'%: read-only replica server which uses %'journalcopy'%\n"
" %'forwarding-standby'%: forwarding-replica which uses %'journalcopy'%\n"
" %'local'%: personal server created by %'init'%\n"
" Type %''broker''%:\n"
" %'broker'%: %'p4broker'% process\n"
" %'workspace-router'%: Routing %'broker'% in data center installation\n"
" Type %''proxy''%:\n"
" %'proxy'%: %'p4p'% caching proxy\n"
"\n"
" Name: The P4NAME that is used by the server (optional).\n"
"\n"
" Address: The P4PORT that is used by the server (optional).\n"
"\n"
" ExternalAddress:\n"
" For an edge server, this optional field can contain its\n"
" external address for connections from the commit server.\n"
" This field is required for distributed parallel submit.\n"
"\n"
" Description:\n"
" A description of the server (optional).\n"
"\n"
" User: The service user that is used by the server (optional).\n"
"\n"
" ClientDataFilter:\n"
" For a replica server, this optional field can contain one\n"
" or more patterns describing how active client data is to\n"
" be filtered. Active client data includes have lists,\n"
" working records, and pending resolves.\n"
"\n"
" Each pattern, in client syntax with optional wildcards,\n"
" should specify whether the data is to be included or\n"
" excluded, using the syntax:\n"
" //client-pattern/... -- client data to include\n"
" -//client-pattern/... -- client data to exclude\n"
"\n"
" RevisionDataFilter:\n"
" For a replica server, this optional field can contain one\n"
" or more patterns describing how submitted revision data is\n"
" to be filtered. Submitted revision data includes revision\n"
" records, integration records, label contents, and the\n"
" files listed in submitted changelists.\n"
"\n"
" Each pattern, in depot syntax with optional wildcards,\n"
" should specify whether the data is to be included or\n"
" excluded, using the syntax:\n"
" //depot/pattern/... -- include this depot path\n"
" -//depot/pattern/... -- exclude this depot path\n"
"\n"
" ArchiveDataFilter:\n"
" For a replica server, this optional field can contain one\n"
" or more patterns describing the policy for automatically\n"
" scheduling the replication of file content. If this field\n"
" is present, only those files described by the pattern are\n"
" automatically transferred to the replica; other files will\n"
" not be transferred until they are referenced by a replica\n"
" command which needs the file content.\n"
"\n"
" DistributedConfig:\n"
" For an edge or commit server, this optional field\n"
" which is displayed only with -l or -c shows\n"
" configuration settings relevant to this server's\n"
" services. When invoked with the -l flag, this field shows\n"
" the current configuration. When invoked with the -c flag,\n"
" the configuration values are populated with currently\n"
" configured values, recommended default values if unset,\n"
" or 'unset' for unset values with no default. If this\n"
" field is present when invoked with -c, the configuration\n"
" commands in this field are run on the current server\n"
" using the scope of the ServerID server.\n"
"\n"
" The -g flag generates a new server UUID.\n"
"\n"
" The -d flag deletes the named server spec.\n"
"\n"
" The -o flag writes the server spec to standard output. The user's\n"
" editor is not invoked. This may be combined with the -l flag.\n"
"\n"
" The -l flag can be used with the -o flag to display the values of\n"
" the configuration variables used to set up the current edge or\n"
" commit server in a distributed environment. This option shows the\n"
" configuration commands in the DistributedConfig field.\n"
"\n"
" The -i flag causes a server spec to be read from the standard input.\n"
" The user's editor is not invoked. This option may be combined with\n"
" the -c flag to generate and run configuration variables used to set\n"
" up an edge or commit server in a distributed environment. When used\n"
" with -c, only the fields explicitly set in standard input from\n"
" the DistributedConfig field will be configured.\n"
"\n"
" The -c <services> option allows the user to set, change or display\n"
" configuration values used to set up the distributed environment\n"
" on an edge or commit server by using the DistributedConfig field.\n"
" Configuration fields are initially populated using the configured\n"
" values if set, default values when unset, or 'unset' for unset\n"
" values with no default. After exiting from the form, any\n"
" configuration commands in the DistributedConfig field will be run\n"
" on the current server for the scope of the serverID. Note that the\n"
" commands only apply to the serverID server, and so the 'server#'\n"
" prefix is not allowed in these commands. The only supported\n"
" services are edge-server and commit-server. The service dictates\n"
" which configuration values are allowed to be set.\n"
"\n"
" 'p4 server' requires 'super' access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpServers = { ErrorOf( ES_HELP, 138, E_INFO, EV_NONE, 0 ),
"\n"
" servers -- Display list of server specifications\n"
"\n"
" p4 servers [-J | --replication-status]\n"
"\n"
" Lists server specifications. (See 'p4 help server'.)\n"
"\n"
" The -J (or --replication-status) flag instead reports information\n"
" about this server's journal, and about the replication status of all\n"
" replicas that replicate from this server (if any). The fields shown\n"
" are the server id, last updated time, server type, persisted journal\n"
" position, applied journal position, flags, and is-alive. The is-alive\n"
" field is 0 for a replica that is no longer running, or 1 for a live\n"
" replica. The persisted and applied journal fields are different only\n"
" for a replica running journalcopy: the persisted position is the last\n"
" journal offset that this replica has persisted to disk and acknowledged\n"
" to the master server, and the applied position is the offset of the\n"
" last journal record that has been applied to the replica's database.\n"
"\n"
" The first row displays information about this server, and the following\n"
" rows display information about each replica that has requested journal\n"
" records from this server. Only replicas that have a serverID or a\n"
" P4NAME are listed in the results.\n"
"\n"
" The flags are a set of fields, each printed in upper-case if it is set\n"
" or in lower-case if it is not; the numeric value of the flags is\n"
" displayed after the alphabetic display. Each field is listed below\n"
" with its value, name, and description:\n"
"\n"
" W/8 (Wait) : this is a long-poll request (-i 0)\n"
" w (no wait) : this is not a long-poll request\n"
" A/4 (Acknowledging) : this request ACKs previous journal records\n"
" a (non-acknowledging) : this request does not ACK previous records\n"
" D/2 (Durable) : only durable records should be returned\n"
" d (non-durable) : non-durable records should also be returned\n"
" L/1 (Local) : this is data about the local journal\n"
" l (remote) : this is a request from a replica\n"
"\n"
" Common field displays with their associated pull or journalcopy\n"
" commands are:\n"
"\n"
" WAdl/12 journalcopy -i 0\n"
" WaDl/10 pull -i 0\n"
" wAdl/4 journalcopy -i 1\n"
" waDl/2 pull -i 1\n"
" wadL/1 (synthesized record for master status)\n"
"\n"
" You can compare the journal positions of each replica with that of this\n"
" server to see if any replicas are falling behind.\n"
};
ErrorId MsgHelp::HelpReload = { ErrorOf( ES_HELP, 155, E_INFO, EV_NONE, 0 ),
"\n"
" reload -- Reload an unloaded client, label, or task stream\n"
"\n"
" p4 reload [-f] [-c client | -l label | -s stream] [-p address]\n"
"\n"
" Reloads the specified client, label, or task stream from the\n"
" unload depot.\n"
"\n"
" Specify -c and a client name to reload that client, or -l and a label\n"
" name to reload that label, or -s and a stream name to reload a task\n"
" stream.\n"
"\n"
" The -f flag forces the reloading of the specified client, label,\n"
" or task stream. By default, users can only reload their own clients,\n"
" labels, or task streams. The -f flag requires 'admin' access,\n"
" which is granted by 'p4 protect'.\n"
"\n"
" Note that reloading a client or label does not update the access\n"
" time. See 'p4 help unload' for more information about which commands\n"
" cause the access time of a client or label to change.\n"
"\n"
" In a distributed installation, the -p flag can be used to reload\n"
" an unloaded client or label from a remote Edge Server, thus migrating\n"
" that client or label from the remote Edge Server to this one. Each\n"
" Edge Server's service user must be properly authenticated to the\n"
" other Edge Server in order to perform this operation.\n"
};
ErrorId MsgHelp::HelpUnload = { ErrorOf( ES_HELP, 156, E_INFO, EV_NONE, 0 ),
"\n"
" unload -- Unloads a client, label, or task stream to the unload depot\n"
"\n"
" p4 unload [-f -L -p -z] [-c client | -l label | -s stream] [-o localFile]\n"
" p4 unload [-f -L -z] [-a|-al|-ac] [-d date | -u user]\n"
"\n"
" The first form of this command unloads the specified client, label,\n"
" or task stream to the unload depot.\n"
"\n"
" Specify -c and a client name to unload that client, or -l and a label\n"
" name to unload that label, or -s and stream name to unload a task\n"
" stream.\n"
"\n"
" The -f flag forces the unloading of the specified client, label, or\n"
" task stream. By default, users can only unload their own clients,\n"
" labels, or task streams. The -f flag requires 'admin' access,\n"
" which is granted by 'p4 protect'.\n"
"\n"
" The -p flag promotes any non-promoted (local) shelved changes owned\n"
" by the specified client from an edge server to a commit server where\n"
" it can be accessed by other edge servers.\n"
"\n"
" The -z flag specifies that the client, label, or task stream should\n"
" be stored in compressed format.\n"
"\n"
" The -L flag specifies that the client, label, or task stream should\n"
" be unloaded even if it is locked.\n"
"\n"
" The -o localFile flag redirects the output to the specified file on\n"
" the client filesystem. The client, label, or stream is not actually\n"
" unloaded; instead, the data that would have been written to the\n"
" unload depot is written to the local file.\n"
"\n"
" If the -a flag is specified, the specified set of clients and/or\n"
" labels are unloaded. Specify -d and a date to unload all clients\n"
" and/or labels whose access date is older than that date. Specify -u\n"
" and a user to unload all clients and/or labels owned by that user.\n"
" To restrict the command to clients only, specify -ac rather than -a.\n"
" To restrict the command to labels only, specify -al rather than -a.\n"
" When -a is specified, you must specify either -d or -u (or both),\n"
" and you may not specify the -c or -l flags.\n"
"\n"
" The access date for a client is updated when the client is used by\n"
" a command which directly references that client. These commands\n"
" include: add, change, client, delete, diff, edit, have, integrate,\n"
" labelsync, lock, move, opened, reconcile, reopen, resolve, revert,\n"
" shelve, submit, sync, unshelve, and where.\n"
"\n"
" The access date for a label is updated when the label is used by a\n"
" command which directly references that label. These commands include:\n"
" label, and labelsync\n"
"\n"
" In addition, the access date for a client is updated when the client\n"
" is used in a revision specifier of the form @client, and the access\n"
" date for a label is updated when the label is used in a revision\n"
" specifier of the form @label.\n"
"\n"
" The configurables dm.domain.accessupdate and dm.domain.accessforce\n"
" control the frequency of access date updates.\n"
};
ErrorId MsgHelp::HelpAdministration = { ErrorOf( ES_HELP, 140, E_INFO, EV_NONE, 0 ),
"\n"
" Perforce commands for administering and operating the server:\n"
"\n"
" admin Perform administrative operations on the server\n"
" archive Archive obsolete revisions to archive depots\n"
" cachepurge Reclaim disk space on a replica\n"
" configure Set, unset, or show server configuration variables\n"
" counter Display, set, or delete a counter\n"
" counters Display list of known counters\n"
" dbschema Report information about metadata in the Perforce database\n"
" dbstat Display size or simple statistics for a database table\n"
" dbverify Perform low-level verification of the database tables\n"
" depot Create or edit a depot specification\n"
" depots Display list of depots\n"
" diskspace Display summary of disk space usage on server\n"
" group Change members of a user group\n"
" groups List groups (of users)\n"
" info Print out client/server information\n"
" jobspec Edit the job template\n"
" journals Display the checkpoint and journal history\n"
" license Update or display the license file\n"
" ldap Create or edit an LDAP configuration\n"
" ldaps Display list of LDAP configurations\n"
" ldapsync Synchronize members of Perforce groups with LDAP groups\n"
" lockstat Report lock status of database tables\n"
" logappend Append a line to server log file(s)\n"
" logparse Display parsed server log records\n"
" logrotate Rotate server log file(s)\n"
" logschema Display schema information for server log\n"
" logstat Report size of journal/errorLog/auditLog files\n"
" logtail Display the last block(s) of the errorLog\n"
" monitor Display current running perforce process information\n"
" obliterate Remove files and their history from the depot\n"
" ping Test network performance\n"
" property Add, delete, or list property values\n"
" protect Modify protections in the server namespace\n"
" protects Display protections in place for a given user/path\n"
" reload Reload metadata for an unloaded client or label\n"
" renameuser Completely rename a user throughout the database\n"
" restore Restore archived revisions to their original location\n"
" triggers Modify list of server triggers\n"
" typemap Modify the file name-to-type mapping table\n"
" unload Unload metadata for an unused client or label\n"
" unzip Import files from a p4 zip package file\n"
" user Create or edit a user specification\n"
" users Display list of known users\n"
" verify Verify that the server archives are intact\n"
" zip Package a set of files for use by p4 unzip\n"
"\n"
" See 'p4 help replication' for more information about additional\n"
" commands and issues of interest to those who are configuring and\n"
" operating replicated servers.\n"
"\n"
" See 'p4 help dvcs' for more information about additional commands and\n"
" issues of interest to those who are configuring and operating\n"
" independent decentralized servers.\n"
};
ErrorId MsgHelp::HelpReplication = { ErrorOf( ES_HELP, 162, E_INFO, EV_NONE, 0 ),
"\n"
" Topics regarding the configuration and operation of replicated servers:\n"
"\n"
" buildserver General information about Build Farm servers\n"
" cachepurge Reclaim disk space on a replica\n"
" distributed Topics relevant to a distributed installation\n"
" export Extract journal or checkpoint records\n"
" forwardingreplica General information about forwarding replicas\n"
" journalcopy Copy journal data from master to local filesystem\n"
" journaldbchecksums Write journal notes with table checksums\n"
" pull Pull journal or file data from master\n"
" replicate Poll for journal data and apply to another server\n"
" server Create or edit a server specification\n"
" servers Display list of servers\n"
"\n"
" A replica is a server which has a copy of another server's data.\n"
"\n"
" Common reasons for setting up a replica server include: offloading work\n"
" from the main server, and providing better performance for users in\n"
" remote locations.\n"
"\n"
" There are different types of replica servers, such as read-only\n"
" replicas, forwarding replicas, Edge Servers, etc. See 'p4 help server'\n"
" for more details about server types and features. The process of\n"
" adding a new replica server to an existing installation involves:\n"
" preparing a machine with adequate system resources, configuring the\n"
" new server, and initializing the new server from a copy of the target\n"
" server's data and archives. Once the replica server is operational,\n"
" it should be monitored routinely to ensure that any error conditions\n"
" are detected and resolved.\n"
"\n"
" Replica data filtering is configured by specifying filter patterns in\n"
" the replica's server spec and specifying the replica's serverid in the\n"
" -P flag on the 'p4 pull' command to enable the filtering.\n"
"\n"
" A distributed installation contains a Commit Server and one or more Edge\n"
" Servers. See 'p4 help distributed' for more information.\n"
"\n"
" Replica servers support a variety of approaches to handling the depot\n"
" archives, selected by the lbr.replication configurable setting:\n"
"\n"
" none: Replica has no access to depot archives. Commands\n"
" which reference file content will be rejected.\n"
"\n"
" readonly: Replica will maintain a readonly copy of the\n"
" target server's archives. New files are copied by\n"
" 'pull -u' threads and purged files are removed.\n"
" Commands which reference file content are allowed,\n"
" and the file will be retrieved from the target if\n"
" it is missing from the replica.\n"
"\n"
" shared, or Replica allows commands which reference file\n"
" ondemand: content, but does not automatically transfer new\n"
" (synonyms) files nor remove purged files. If a file is not\n"
" present in the archives, commands which reference\n"
" that file will fail. THIS MODE MUST BE USED\n"
" WHEN A REPLICA DIRECTLY SHARES THE SAME PHYSICAL\n"
" ARCHIVES AS THE TARGET, whether by running on the\n"
" same machine or via network sharing, and can also\n"
" be used when an external archive synchronization\n"
" technique such as 'rsync' is used for archives.\n"
"\n"
" cache: Replica allows commands which reference file\n"
" content, but does not automatically transfer new\n"
" files. Files which are purged from the target are\n"
" removed from the replica when the purge operation\n"
" is replicated. If a file is not present in the\n"
" archives, the replica will retrieve it from the\n"
" target server.\n"
"\n"
" Automatic retrieval of new file content can be further controlled by the\n"
" ArchiveDataFilter setting in the 'p4 server' spec.\n"
"\n"
" Connections made via forwarding replicas and Edge Servers may require\n"
" special handling in the protections table if the Host: field specifies\n"
" an IP address; see 'p4 help protect' for more information.\n"
"\n"
" A standby replica processes journal records from its master server in\n"
" such a way that it can be used for failover if the master server dies.\n"
" A standby replica uses both the 'journalcopy' and 'pull -L' commands\n"
" together to ensure that the replica journals exactly match the master.\n"
"\n"
" Complete information about replica configuration and operation can be\n"
" found in the Distributing Perforce Guide.\n"
};
ErrorId MsgHelp::HelpBuildserver = { ErrorOf( ES_HELP, 165, E_INFO, EV_NONE, 0 ),
"\n"
" A server of type 'build-server' (see 'p4 help server') is a replica\n"
" which supports build farm integration.\n"
"\n"
" A build-server replica supports the same read-only commands that a\n"
" simple replica supports. In addition, the 'p4 client' command may be\n"
" used to create or edit client workspaces on a build-server.\n"
"\n"
" Such workspaces may issue the 'p4 sync' command, in addition to all\n"
" read-only commands supported by the replica. The 'p4 sync' command on\n"
" a bound workspace is processed entirely by the build-server replica,\n"
" which entirely relieves the master server of all computation, file\n"
" transfer, networking, and database update resource usage for those\n"
" sync commands.\n"
"\n"
" The build-server replica records view-mapping and have-list metadata\n"
" in its local database, using the separate db.view.rp and db.have.rp\n"
" database tables. Domain information for bound workspaces is recorded\n"
" in the db.domain table, which is global to all servers in the\n"
" installation. A workspace which is bound to a build-server must still\n"
" have a globally-unique name; this is enforced by the 'p4 client'\n"
" command on the build-server.\n"
"\n"
" When creating or editing a client workspace for a build-server,\n"
" the client specified by the optional 'name' argument, as well as the\n"
" client specified by the $P4CLIENT environment variable or via the\n"
" global '-c client' argument must not exist, or must be restricted\n"
" to this server; this command may not be used to create or edit a\n"
" workspace that is not restricted to this build-server.\n"
"\n"
" Since workspace mapping and have list information for bound workspaces\n"
" is stored locally in the build-server database, the build-server should\n"
" be checkpointed regularly.\n"
"\n"
" Since the database of an (unfiltered) build-server is a superset of\n"
" the database of the master server, an unfiltered build-server can\n"
" be used to recover from the catastrophic loss of the master server.\n"
};
ErrorId MsgHelp::HelpForwardingreplica = { ErrorOf( ES_HELP, 166, E_INFO, EV_NONE, 0 ),
"\n"
" A server of type 'forwarding-replica' (see 'p4 help server') is a\n"
" replica which supports the full Perforce command set.\n"
"\n"
" A read-only command which is received by a forwarding-replica is\n"
" processed locally by the forwarding replica, without consuming any\n"
" resources on the master server.\n"
"\n"
" An update command which is received by a forwarding-replica is\n"
" forwarded to the master server for processing, similarly to the way\n"
" in which a proxy or broker forwards commands to the server.\n"
"\n"
" Like a proxy, a forwarding-replica acts as a cache of file content,\n"
" so commands such as 'p4 sync' or 'p4 resolve', although they are\n"
" processed by the master server, offload their file transfer operations\n"
" to the forwarding-replica, thus reducing the load on the master server.\n"
"\n"
" The 'p4 login' command on a forwarding-replica automatically logs the\n"
" user into both the forwarding-replica and the master server.\n"
"\n"
" Since the database of an (unfiltered) forwarding-replica is a superset\n"
" of the database of the master server, an unfiltered forwarding-replica\n"
" can be used to recover from the catastrophic loss of the master server.\n"
};
ErrorId MsgHelp::HelpDistributed = { ErrorOf( ES_HELP, 163, E_INFO, EV_NONE, 0 ),
"\n"
" A distributed installation contains a Commit Server and one or more Edge\n"
" Servers. Individual client workspaces are bound to the Edge Server on\n"
" which they are created, and all work in progress for those workspaces\n"
" resides only on their owning Edge Server.\n"
"\n"
" An Edge Server supports the full Perforce command set; however, there\n"
" are a few differences in behavior which may affect applications.\n"
"\n"
" A pending change can be viewed on an Edge Server other than the one\n"
" where the change was created. In that case, the pending change will not\n"
" display a list of open files; the open files are shown only on the\n"
" owning server. A pending changelist can be updated or deleted only on\n"
" the server where the change was created.\n"
"\n"
" Files of type +l are handled specially in a distributed installation.\n"
" When +l filetypes are opened, the Edge Server contacts the Commit Server\n"
" to ensure that the file is not locked on another Edge Server.\n"
"\n"
" By default, labels are also bound to the Edge Server on which they are\n"
" created; the -g flag indicates that the label is to be defined globally\n"
" on all servers in the installation. Configuring rpl.labels.global=1\n"
" reverses this default and causes the flag to have the opposite meaning.\n"
"\n"
" When moving your workspace from one server to another, using 'sync -k'\n"
" and 'reconcile' makes it easy to migrate without needing to reload your\n"
" work. An alternate mechanism is to unload your workspace on the old\n"
" server and use 'reload -p' to reload it onto the new server. In either\n"
" case, shelves created by the workspace remain on the server where they\n"
" were created. The unload/reload mechanism can also be used to move a\n"
" locally-bound label from one Edge Server to another.\n"
"\n"
" A spec depot on an Edge Server contains all the contents of the spec\n"
" depot on the Commit Server. Additionally, the Edge Server spec depot\n"
" contains entries for clients and labels bound to that Edge Server.\n"
" Consider using a Typemap definition such as text+CS4 for client and\n"
" label spec depot entries, or using a SpecMap field on the spec depot\n"
" definition to ensure that the Edge Server spec depot does not grow\n"
" excessively large.\n"
"\n"
" An unload depot on an Edge Server contains all the contents of the\n"
" unload depot on the Commit Server. Additionally, the Edge Server unload\n"
" depot contains entries for clients and labels that were unloaded on\n"
" that edge server.\n"
"\n"
" Shelved files behave differently in a distributed configuration. A\n"
" shelf is accessible only on the Edge Server where it was created, unless\n"
" it is promoted (see the discussion of the 'shelve' command below).\n"
"\n"
" When backing up your Edge Server(s), ensure that you checkpoint all\n"
" database tables and retain rotated journals between checkpoints.\n"
" Also, ensure that you back up any shelved file content, unloaded clients\n"
" and labels, and spec depot entries for clients and labels that have been\n"
" created on this Edge Server, as that data is local to this Edge Server\n"
" and not contained in the backups of your Commit Server.\n"
"\n"
" Most commonly-used commands are executed directly on this Edge Server\n"
" and are unaffected by resource constraints on other servers in your\n"
" installation. However, there are certain performance implications of a\n"
" distributed installation that you should anticipate:\n"
" - Files using the RCS storage format undergo multiple file format\n"
" conversions during submit. Use text+C or text+F storage formats instead\n"
" to avoid this penalty.\n"
" - The submit command is slower than in a non-distributed installation,\n"
" since the changelist must be copied from the Edge Server to the Commit\n"
" Server during submit processing. If you are creating a new branch, use\n"
" the populate command instead to avoid this overhead.\n"
" - Updates to workspace and label definitions, requests for new change\n"
" numbers, and opening or reverting +l files require messages to be sent\n"
" to the Commit server.\n"
" - Background 'pull' threads in the Edge Server may contend for resources\n"
" with commands run by Edge Server users.\n"
"\n"
" Notable differences in command behavior in a distributed installation:\n"
"\n"
" changes -s shelved file...:\n"
" Searching for shelves affecting particular files can be done only\n"
" on the Edge Server where the shelf was created, or on the Commit\n"
" Server if the shelf was promoted.\n"
"\n"
" client, clients -a -s:\n"
" A client workspace is bound to its Edge Server when it is created,\n"
" and may not be used on other Edge Servers. The 'p4 clients' command\n"
" displays only those clients bound to this Edge Server; use the -a\n"
" flag to display the complete list of clients, or the -s serverID\n"
" flag to display the list of clients bound to a specific Edge Server.\n"
"\n"
" describe, change\n"
" The files associated with a pending change are visible only on the\n"
" Edge Server where the change was created.\n"
"\n"
" label, labels -a -s:\n"
" A label is present only on the Edge Server where it was created.\n"
" The 'p4 labels' command displays only those labels bound to this\n"
" Edge Server; use the -a flag to display the complete list of labels,\n"
" or the -s serverID flag to display labels of a specific Edge Server.\n"
" Labels created on the Commit Server are global, and are visible on\n"
" all servers in the distributed installation.\n"
"\n"
" label -g, labelsync -g, tag -g:\n"
" The -g flag specifies that the label, labelsync, or tag command should\n"
" execute on the Commit Server to create or update a globally-visible\n"
" label; otherwise the label is present only on this Edge Server.\n"
"\n"
" labels file[revrange]:\n"
" When a file specification is provided, the 'p4 labels' command\n"
" displays the matching labels, but only shows labels bound to this\n"
" Edge Server. The file specification argument is not allowed if the\n"
" -a or -s flags are provided.\n"
"\n"
" lock, unlock:\n"
" The lock and unlock commands only prevent submissions from other\n"
" clients on this Edge Server.\n"
"\n"
" logger:\n"
" In a distributed installation, 'p4 logger' commands should be issued\n"
" to the Commit Server, not to an Edge Server.\n"
"\n"
" obliterate:\n"
" The obliterate command removes submitted revision data from the\n"
" Commit Server, and also removes any related client data for clients\n"
" resident on the Commit Server. When the file removal operations are\n"
" replicated to an Edge Server, that Edge Server automatically reverts\n"
" any open changes to those files for clients resident on that Edge\n"
" Server. Edge Server clients may still list the obliterated file(s)\n"
" in the output of 'p4 have'; the file(s) will be removed from their\n"
" have list the next time that client issues a 'p4 sync'.\n"
"\n"
" opened -a:\n"
" Displays only those files opened by other workspaces on this Edge\n"
" Server; files opened on other Edge Servers do not appear.\n"
"\n"
" opened -x:\n"
" Displays information about exclusively locked files.\n"
"\n"
" reload -p:\n"
" Allows an unloaded client or label to be reloaded on a different\n"
" server. Note that any shelves which were created by the client\n"
" remain on the server where they were created.\n"
"\n"
" shelve, unshelve:\n"
" A shelf is present only on the Edge Server where it is created, and\n"
" can only be unshelved by workspaces on that Edge Server. A shelf can\n"
" be promoted by specifying the '-p' flag; this causes the shelf data\n"
" to be redundantly stored on the Commit Server as well as on this\n"
" Edge Server. A promoted shelf is accessible by users on other Edge\n"
" Servers, although there is a performance penalty as the shelf data\n"
" must be retrieved on demand when it is referenced. Although it is\n"
" accessible from other Edge Servers, the shelf can only be submitted\n"
" from the Edge Server on which it was created. On an Edge Server\n"
" which is running with lbr.replication=shared, all new shelves\n"
" are automatically promoted without needing '-p'. If a workspace\n"
" has promoted shelves, those shelves must be deleted prior to\n"
" deleting, unloading, or migrating that workspace to another server.\n"
"\n"
" spec depot:\n"
" The spec depot may have different contents on each Edge Server.\n"
" Clients and labels bound to an Edge Server are recorded in the\n"
" spec depot on that Edge Server only. The 'depot -d' command for the\n"
" spec depot does not verify that the Edge Server spec depots are empty.\n"
"\n"
" triggers:\n"
" The submit command on the Edge Server will run the 'edge-submit'\n"
" and 'edge-content' triggers, if defined, prior to transferring\n"
" the changelist to the Commit Server for final submission. The submit\n"
" command on the Commit Server will run the standard trigger types;\n"
" however, if the change was submitted from an Edge Server, the\n"
" 'change' and 'describe' commands must not be used in the trigger.\n"
" The %%serverid%% variable in the trigger command should be used for\n"
" trigger definitions which need to detect which server is running\n"
" the trigger.\n"
"\n"
" unload depot:\n"
" The unload depot may have different contents on each Edge Server.\n"
" Clients and labels bound to an Edge Server are unloaded into the\n"
" unload depot on that Edge Server. Specify the -s or -a flag to the\n"
" 'p4 clients -U' and 'p4 labels -U' commands on the Edge Server to\n"
" view unloaded clients or labels for another Edge Server.\n"
"\n"
" Be sure to include the unload depot as part of your Edge Server\n"
" backups. Since the Commit Server does not verify that the unload\n"
" depot is empty on every Edge Server, you must specify 'depot -d -f'\n"
" in order to delete the unload depot from the Commit Server.\n"
"\n"
" unlock -x:\n"
" Releases exclusive locks which have become orphaned due to network\n"
" outages between the Edge Server and the Commit Server.\n"
"\n"
" unsubmit, resubmit:\n"
" These commands are not available on an Edge Server.\n"
"\n"
" user -i -f:\n"
" Automatic creation of new user specs is disabled on Edge Servers.\n"
" To create a new user, the administrator should run 'p4 user -f'.\n"
"\n"
" archive, attribute -f, labelsync -g, obliterate, populate, restore,\n"
" retype, snap, tag -g:\n"
" When one of these commands is issued to an Edge Server, the command\n"
" is forwarded to the Commit Server for processing. In this case,\n"
" specify any arguments to the command using depot syntax, not client\n"
" syntax nor local syntax. In order to use client or local syntax for\n"
" these commands, you must issue the command directly to the Commit\n"
" Server (and use a workspace bound to the Commit Server).\n"
"\n"
" attribute -p (without -f), edit, delete, integrate, copy, reconcile,\n"
" resolve, shelve, unshelve, submit:\n"
" These commands are not supported when run from an Edge Server with\n"
" files which contain propagating attributes. These commands may be\n"
" used with propagating attributes only from a Commit Server.\n"
};
ErrorId MsgHelp::HelpCachepurge = { ErrorOf( ES_HELP, 168, E_INFO, EV_NONE, 0 ),
"\n"
" cachepurge -- Reclaim disk space on a replica\n"
"\n"
" p4 cachepurge -a [-i N -n -R -S N -O -D files...]\n"
" p4 cachepurge -f N [-i N -n -R -S N -O -D files...]\n"
" p4 cachepurge -m N [-i N -n -R -S N -O -D files...]\n"
" p4 cachepurge -s N [-i N -n -R -S N -O -D files...]\n"
"\n"
" A replica used as a standby spare or for disaster recovery will\n"
" maintain a complete copy of the master server's versioned file\n"
" archives. Replicas which are used for other purposes may not need\n"
" to hold a copy of the content of every version of every file.\n"
"\n"
" The cachepurge command is useful for replicas with limited disk space\n"
" resources. Depending on the scenario, a replica may not need to\n"
" retain a copy of all of the versioned file archives of its master. If\n"
" the replica is not being used for disaster recovery purposes, you can\n"
" reclaim disk space by periodically deleting versioned files from the\n"
" replica. Note: This is only safe to do if you are certain that you\n"
" have a backup of these files, either a backup made on this replica or\n"
" on another replica or on a backup made on the master server.\n"
"\n"
" The disk space goal is specified using one of the required flags:\n"
" -a, -f, -m, or -s.\n"
"\n"
" Each time the cachepurge command runs, it attempts to permanently\n"
" delete enough file content from the replica to achieve the goal\n"
" specified by parameters to the command. Note that the file content\n"
" is only deleted from this replica, not from the master server or any\n"
" other replica, and also note that if a command is issued to this\n"
" replica which accesses the file content in the future, the file will\n"
" be re-retrieved from the master.\n"
"\n"
" The -a flag specifies to delete all file content. This reclaims the\n"
" maximum amount of disk space, but also means any file content must\n"
" be re-retrieved from the master.\n"
"\n"
" The -f flag specifies a free space target for the filesystem in bytes.\n"
" When used regularly, this will cause the replica to maintain that\n"
" amount of free disk space on the depot filesystem.\n"
"\n"
" The -m flag specifies the number of file revisions to delete. This\n"
" may free up more or less space, depending on the size of the files.\n"
"\n"
" The -s flag specifies the number of bytes of file data to delete.\n"
" This can be helpful for replicas which have a predictable observed\n"
" growth rate in their filesystem resources.\n"
"\n"
" The -i flag causes the command to automatically repeat its action\n"
" every N seconds. If -i is not specified, the command runs once,\n"
" then exits.\n"
"\n"
" The -n flag displays a preview of the cachepurge operation without\n"
" deleting any files.\n"
"\n"
" The cachepurge command normally examines all files in the repository.\n"
" The -D flag may be used to specify the subset of the files that are\n"
" to be eligible for purging.\n"
"\n"
" The cachepurge command normally chooses files to delete at random.\n"
" The -R flag inhibits this random behavior, and causes files to be\n"
" deleted in order. The -a flag implies the -R flag.\n"
"\n"
" The -S flag specifies that the N most recent revisions of each file\n"
" are not to be removed. Specifying -S 1 therefore ensures that the\n"
" head revision of each file is retained in the replica's cache if it\n"
" is already present there.\n"
"\n"
" The -O flag specifies that the files are to be ordered from oldest to\n"
" newest, in order to prefer the deletion of older content over newer.\n"
" The -O flag requires that the -R flag also be specified.\n"
};
ErrorId MsgHelp::HelpTrust = { ErrorOf( ES_HELP, 150, E_INFO, EV_NONE, 0 ),
"\n"
" trust -- Establish trust of an SSL connection\n"
"\n"
" p4 trust is a client side command. For detailed help run\n"
" p4 trust -h\n"
};
ErrorId MsgHelp::HelpRenameUser = { ErrorOf( ES_HELP, 169, E_INFO, EV_NONE, 0 ),
"\n"
" renameuser -- Completely rename a user throughout the database\n"
"\n"
" p4 renameuser [-f] --from=old --to=new\n"
"\n"
" 'p4 renameuser' completely renames a user, modifying all database\n"
" records which mention the user.\n"
"\n"
" This includes all workspaces, labels, branches, streams, etc. which\n"
" are owned by the user, all pending, shelved, and committed changes\n"
" created by the user, any files that the user has opened or shelved,\n"
" any fixes that the user made to jobs, any properties that apply to\n"
" the user, any groups that the user is in, and the user record itself.\n"
"\n"
" The username is not changed in descriptive text fields (such as job\n"
" descriptions, change descriptions, or workspace descriptions), only\n"
" where it appears as the owner or user field of the database record.\n"
"\n"
" Protection table entries that apply to the user are updated only if\n"
" the Name: field exactly matches the user name; if the Name: field\n"
" contains wildcards, it is not modified.\n"
"\n"
" The only job field that is processed is attribute code 103. If you\n"
" have included the username in other job fields they will have to be\n"
" processed separately.\n"
"\n"
" This command does not modify existing content in the spec depot.\n"
"\n"
" Files of type +k which contain the $Author$ tag that were submitted\n"
" by the user will have incorrect digests following this command. Use\n"
" 'p4 verify -v' to recompute the digest value after the rename.\n"
"\n"
" This command does not process unloaded workspaces, so all the user's\n"
" workspaces should be reloaded (or deleted) first. In a distributed\n"
" installation, there may be local workspaces or local labels owned by\n"
" the user; these workspaces and labels which are bound to Edge Servers\n"
" should be deleted or moved to the Commit Server first.\n"
"\n"
" To avoid confusion, the user should not be using the server at the\n"
" moment this command is run. After this command completes, the user\n"
" should logout and login again, and can then resume work. Similarly,\n"
" the user issuing this command should not be the same user as the user\n"
" being renamed.\n"
"\n"
" For best results, this command should not be used if the new user has\n"
" been used in this server already, since work performed by that user\n"
" may be unintentionally combined with work performed by the renamed\n"
" user. The server attempts to check for such accidentally merging of\n"
" two unrelated users, but the check is not perfect.\n"
"\n"
" The -f flag bypasses the accidental merge checks mentioned above.\n"
"\n"
" If a central authentication server has been configured using P4AUTH,\n"
" the user must be renamed in both servers, using separate invocations\n"
" of 'p4 renameuser'. The commands may be run in either order.\n"
"\n"
" 'p4 renameuser' requires 'super' access granted by 'p4 protect'.\n"
};
ErrorId MsgHelp::HelpJournals = { ErrorOf( ES_HELP, 170, E_INFO, EV_NONE, 0 ),
"\n"
" journals -- Display the checkpoint and journal history of the server\n"
"\n"
" p4 journals [-F filter -T fields -m max]\n"
"\n"
" 'p4 journals' displays information about the checkpoint and journal\n"
" history of this server.\n"
"\n"
" The -F flag lists only records satisfying the filter expression. This\n"
" filter syntax is similar to the one used for 'jobs -e jobview' and is\n"
" used to evaluate the contents of the fields in the preceding list.\n"
" Filtering is case-sensitive.\n"
"\n"
" Example: -F type=checkpoint\n"
"\n"
" The -T fields flag returns only the specified fields. The field names\n"
" can be specified using a comma- or space-delimited list.\n"
"\n"
" The -m max flag limits output to the specified number of records.\n"
};
ErrorId MsgHelp::HelpPush = { ErrorOf( ES_HELP, 175, E_INFO, EV_NONE, 0 ),
"\n"
" push -- copy files from a personal server to a shared server\n"
"\n"
" p4 push [-n -r remotespec -v -O flags] [-S stream | filespec]\n"
" p4 push [-n -r remotespec -v -O flags] -s shelf\n"
"\n"
" The push command takes the specified set of files, and the\n"
" changelists which submitted those files, and copies them to\n"
" the specified target server.\n"
"\n"
" A push is only allowed if the files being pushed fit cleanly into\n"
" the target server, building precisely on a shared common history.\n"
" If there are any conflicts or gaps, the push is rejected.\n"
" Otherwise, the changelists become new submitted changelists\n"
" in the target server.\n"
"\n"
" The second form of the command pushes a shelved changelist, rather\n"
" than one or more submitted changelists, in which case conflicts do\n"
" not arise; the result is a new shelved change in the target server.\n"
"\n"
" When the changelists are added to the target server, they\n"
" are given newly assigned change numbers but they retain the\n"
" same description, user, date, type, workspace, and set of files.\n"
"\n"
" When the files are added to the target server, they are kept\n"
" in their same changelists, as new revisions starting after the\n"
" current head. The new revisions retain the same revision number,\n"
" file type, action, date, timestamp, digest, and file size.\n"
"\n"
" Although the changelists are new submitted changelists in the\n"
" target server, none of the submit triggers are run in the\n"
" target server. Instead, use the push-* triggers for that purpose.\n"
"\n"
" The push command can also be used to copy a shelf to the target\n"
" server by specifying the -s flag.\n"
"\n"
" Typically, the push command specifies a remote spec, and the\n"
" DepotMap field in the remote spec specifies which files are to be\n"
" pushed. The push command may also specify an argument to further\n"
" restrict the files to be pushed.\n"
"\n"
" The restriction argument may be either the name of a stream\n"
" (e.g., '-S dev'), or it may be a filename pattern (e.g.,\n"
" //stream/dev/...). You may not specify both types of restrictions\n"
" in a single push command.\n"
"\n"
" If a stream name or filespec is provided, and the remote spec uses\n"
" differing patterns for the local and remote sides of the DepotMap,\n"
" the stream name or filespec argument must specify the files using the\n"
" local filename syntax.\n"
"\n"
" If a particular changelist includes some files that match the\n"
" restriction, and other files that do not, then only the matching\n"
" files are included in the push. Note that if a remote spec is also\n"
" provided, only the files that match the restriction and are mapped by\n"
" the remote spec are included in the push.\n"
"\n"
" In addition to the file revisions and the changelists, the push\n"
" command also copies the archive content to the target server.\n"
" In the case of lazy copies, the target server may already have the\n"
" corresponding archive, in which case the lazy copy is adjusted\n"
" to reference the target server's existing archives.\n"
"\n"
" The push command also copies all integration records which\n"
" describe integrations to the files being pushed. These integration\n"
" records are adjusted in the target server to reflect the resulting\n"
" changelist numbers and revision numbers of the target server.\n"
" Integration records are copied only if the integration source is\n"
" mapped by the remote spec specified for the push.\n"
"\n"
" The push command also copies all attributes which have been set on\n"
" the files being pushed using 'p4 attribute', and copies all fixes\n"
" which have been attached to the changelists being pushed, providing\n"
" the jobs mentioned by those fixes exist in the destination server.\n"
"\n"
" In order to push a set of files, you must have read access to those\n"
" files in the current repository, and you must have write access to\n"
" those same files in the target repository (according to the target\n"
" repository's protections table); your local userid is also used as\n"
" the userid at the target server and you must already be logged in\n"
" to both servers prior to running the push command.\n"
"\n"
" The push command is atomic: either all the specified files\n"
" are pushed, or none of them are pushed.\n"
"\n"
" By default, changes cannot be pushed from server to server; in order\n"
" to push changes between servers, an administrator of each server must\n"
" enable pushing. Set server.allowpush=1 on the server which initiates\n"
" the push; set server.allowpush=2 on the destination server.\n"
"\n"
" Files with the filetype modifier +S have some special considerations.\n"
" When pushing files of type +S, old archives which exceed the\n"
" specified limit are not purged by the push command.\n"
"\n"
" If a push command fails after it has begun transferring files to\n"
" the remote server, it will leave those files locked on the remote\n"
" server. 'p4 opened' will display '*locked*', and the files cannot\n"
" be submitted by any other user. If the push command cannot be\n"
" quickly retried, you can use the 'p4 unlock -r' commmand to unlock\n"
" the files on the remote server.\n"
"\n"
" The push command is not allowed if there are unsubmitted changes in\n"
" this server; use 'p4 resubmit' to resubmit those changes first, or\n"
" discard the shelves with 'p4 shelve -d' if they are not wanted.\n"
"\n"
" The -r flag specifies a remote spec which contains the address of\n"
" the target server, and a file mapping which is to be used to re-map\n"
" the files when they are pushed to the target server. If -r is not\n"
" specified, the default is -r origin. See also 'p4 help remote'.\n"
"\n"
" The -S flag specifies a stream name to restrict the files to be\n"
" included in the push.\n"
"\n"
" The -n flag performs all the correctness checks, but does not\n"
" push any files or changelists to the target server.\n"
"\n"
" The -s flag specifies a shelved changelist to be copied, instead\n"
" of copying one or more submitted changelists.\n"
"\n"
" The -v flag specifies verbose mode.\n"
"\n"
" The -O flag controls the output verbose mode, and has the format\n"
" '-Ocfi'. If 'c' is specified, verbose mode includes information about\n"
" each changelist; if 'f' is specified, verbose mode includes\n"
" information about each file; if 'i' is specified, verbose mode\n"
" includes information about each integration. The default is -Oc.\n"
"\n"
};
ErrorId MsgHelp::HelpUnzip = { ErrorOf( ES_HELP, 176, E_INFO, EV_NONE, 0 ),
"\n"
" unzip -- Import files from a p4 zip package file\n"
"\n"
" p4 unzip -i file [-f -n -A -I -v --enable-dvcs-triggers]\n"
"\n"
" The unzip command imports the file revisions contained in the\n"
" specified zip file.\n"
"\n"
" The -i flag specifies the zip file name.\n"
"\n"
" The -n flag performs all the correctness checks, but does not\n"
" push any files or changelists to the target server.\n"
"\n"
" The -f flag bypasses the correctness checks.\n"
"\n"
" The -A flag includes the archive content of the new revisions.\n"
"\n"
" The -I flag excludes integration records for the new revisions.\n"
"\n"
" The -v flag specifies verbose mode.\n"
"\n"
" The --enable-dvcs-triggers flag specifies that any push-* and fix-add\n"
" triggers which have been defined are enabled for this unzip command.\n"
" Otherwise, unzip does not run those triggers.\n"
"\n"
" The unzip command requires admin permission granted by\n"
" p4 protect.\n"
};
ErrorId MsgHelp::HelpZip = { ErrorOf( ES_HELP, 177, E_INFO, EV_NONE, 0 ),
"\n"
" zip -- Package a set of files and their history for use by p4 unzip\n"
"\n"
" p4 zip -o file [-r remote -A -I] [ filespec | -c change]\n"
" p4 zip -o file -A [-r remote -I] -s shelf\n"
"\n"
" The zip command takes the specified set of files, and the\n"
" changelists which submitted those files, and writes them to\n"
" the specified zip file.\n"
"\n"
" The content of the zip file can be specified either by providing a\n"
" filespec, which selects a set of revisions, or by providing one or\n"
" more changelist numbers using the -c flag, which selects all the\n"
" revisions modified by those changelists.\n"
"\n"
" The second form of the command writes a single shelved changelist\n"
" to the specified zip file. A shelf zip may not omit archives.\n"
"\n"
" The -o flag specifies the zip file name.\n"
"\n"
" The -r flag specifies a remote spec which is to be used to re-map\n"
" the files when they are written to the zip file.\n"
" See 'p4 help remote'.\n"
"\n"
" The -c flag specifies the change to export; this flag can be\n"
" specified multiple times to include multiple changes.\n"
"\n"
" The -A flag includes the archive content of the new revisions.\n"
"\n"
" The -I flag excludes integration records for the new revisions.\n"
"\n"
" The -s flag specifies a shelved changelist to be exported, instead\n"
" of exporting one or more submitted changelists.\n"
"\n"
" The zip command requires super permission granted by p4 protect.\n"
"\n"
};
ErrorId MsgHelp::HelpUnsubmit = { ErrorOf( ES_HELP, 178, E_INFO, EV_NONE, 0 ),
"\n"
" unsubmit -- unsubmit a changelist, making it a shelf\n"
"\n"
" p4 unsubmit [-n -r remote] file[revRange]...\n"
"\n"
" The unsubmit command takes one or more submitted changelists and\n"
" undoes the submission, leaving the changelist as a shelved change\n"
" with the same content. The changelist can then be unshelved and\n"
" further updated prior to resubmitting it.\n"
"\n"
" See 'p4 help resubmit' for information about the 'p4 resubmit'\n"
" command, which is useful for resubmitting unsubmitted changelists\n"
" in a controlled process.\n"
"\n"
" revRange is a revision or a revision range that limits the span of\n"
" file history to be unsubmitted.\n"
"\n"
" If the file argument has a revision, the specified revision is\n"
" unsubmitted. If the file argument has a revision range, the\n"
" revisions in that range are unsubmitted. See 'p4 help revisions'\n"
" for help.\n"
"\n"
" In all of these cases, all changes which affect any of the specified\n"
" revision(s) of any of the specified file(s) will be unsubmitted.\n"
"\n"
" The changelist must have been submitted by the same user and\n"
" workspace which are used in the unsubmit command.\n"
"\n"
" The files in the changelist must be the head revisions of those\n"
" files in the repository. The files must not have been integrated\n"
" into any other files in the repository. The files must not be open\n"
" by any pending or shelved changelists. The files must not have been\n"
" archived or purged. The files must not have associated attributes.\n"
"\n"
" If the command specifies multiple files and/or multiple revisions,\n"
" all the changelists which affected the specified revisions of the\n"
" specified files are unsubmitted; each such change becomes its own\n"
" separate shelf.\n"
"\n"
" Fix records associated with the changelist are not modified. After\n"
" unsubmitting a change which has associated jobs, you should review\n"
" the job and fix status for accuracy.\n"
"\n"
" The shelved changelists that are created do not fire any triggers\n"
" of type shelve-submit or shelve-commit.\n"
"\n"
" The -n flag performs all the correctness checks, but does not\n"
" unsubmit any files.\n"
"\n"
" The -r flag specifies a remote spec. The map in the remote spec is\n"
" used to limit the files affected by the unsubmit command. Thus a\n"
" command such as 'p4 unsubmit -r rmt @>=17' will affect only the\n"
" files specified by the remote spec, not all files in the depot.\n"
"\n"
" After all the specified changelists have been unsubmitted, the\n"
" unsubmit command syncs the workspace to the head revision.\n"
"\n"
" By default, a server does not allow the unsubmit command. To enable\n"
" this command, an administrator must set server.allowrewrite=1.\n"
"\n"
" In order to delete a shelf which was unsubmitted, you must specify\n"
" -f to the shelve -d command.\n"
"\n"
" The unsubmit command is not available on an Edge Server.\n"
"\n"
" The unsubmit command requires admin permission granted by\n"
" p4 protect.\n"
"\n"
};
ErrorId MsgHelp::HelpRemote = { ErrorOf( ES_HELP, 179, E_INFO, EV_NONE, 0 ),
"\n"
" remote -- Create, modify, or delete a remote specification\n"
"\n"
" p4 remote [-f] remoteID\n"
" p4 remote -d [-f] remoteID\n"
" p4 remote -o remoteID\n"
" p4 remote -i [-f] \n"
"\n"
" A remote specification describes the high-level configuration\n"
" and usage of a remote.\n"
"\n"
" The 'remote' command puts the remote spec into a temporary file and\n"
" invokes the editor configured by the environment variable $P4EDITOR.\n"
" Saving the file creates or modifies the remote spec.\n"
"\n"
" Remote specs are used by the fetch, push, and clone commands. For\n"
" the fetch and push commands, the specified remote spec must be\n"
" present on the server which initiates the fetch or push operation.\n"
" For the clone command, the specified remote spec must be present on\n"
" the server being cloned; the clone command copies the remote spec\n"
" to the new personal repository and renames the spec to 'origin'.\n"
"\n"
" The remote spec contains the following fields:\n"
"\n"
" RemoteID: The identifier of the remote\n"
"\n"
" Address: The P4PORT that is used by the server.\n"
"\n"
" Owner: The user who created this remote spec. Can be changed.\n"
"\n"
" RemoteUser: The username to use on the remote server (optional).\n"
" Can be changed.\n"
"\n"
" Update: The date this remote spec was last modified.\n"
"\n"
" Access: The last time this remote was used to fetch or push.\n"
"\n"
" Description: A description of the remote spec (optional).\n"
"\n"
" Options: Flags to change the remote spec behavior. The defaults\n"
" are marked with *.\n"
"\n"
" locked Permits only the owner to change the remote,\n"
" unlocked * and prevents the remote spec from being deleted.\n"
"\n"
" compress Compresses data sent between the local and\n"
" nocompress * remote server to speed up slow connections.\n"
"\n"
" copyrcs * Transfers entire RCS archives when possible,\n"
" nocopyrcs or never transfers entire RCS archives.\n"
"\n"
" LastFetch: The last changelist that was fetched.\n"
"\n"
" LastPush: The last changelist that was pushed.\n"
"\n"
" DepotMap:\n"
" Mapping between the local and remote files.\n"
"\n"
" ArchiveLimits:\n"
" Limits on the number of files fetched (optional).\n"
"\n"
" The filenames in the depot map must always be in depot syntax, but\n"
" the local server's depot syntax may differ from the remote server's\n"
" depot syntax in order to map the remote server's files into a\n"
" alternate location in the local server. The left side of the map\n"
" specifies the local server location; the right side of the map\n"
" specifies the remote server location.\n"
"\n"
" Any mapping of depot files may be specified in a remote spec, and\n"
" will be used by the fetch and push commands to guide their operation.\n"
" The clone command has certain restrictions on the DepotMap field,\n"
" which are described in the next paragraph.\n"
"\n"
" The clone command interprets the remote spec and uses it to guide\n"
" the setup of the new personal repository. The left side of the map\n"
" is used to determine the depot and stream(s) that will be created.\n"
" The left side of the map must only specify mappings for a single\n"
" depot, but the right side of the map may have locations in multiple\n"
" depots of the server being cloned. The left side of the map may\n"
" specify one or more stream names in the new personal repository. The\n"
" stream name is the second level in the path name on the left side.\n"
" The left side must specify at least one stream, or clone will fail.\n"
" If multiple streams are specified on the left side of the map, each\n"
" stream will be created by the clone command as a separate mainline,\n"
" and the last stream in the map will be the current stream after the\n"
" clone command has finished.\n"
"\n"
" The -d flag deletes the named remote spec.\n"
"\n"
" The -o flag writes the remote spec to standard output. The user's\n"
" editor is not invoked.\n"
"\n"
" The -i flag causes a remote spec to be read from the standard input.\n"
" The user's editor is not invoked.\n"
"\n"
" The -f flag enables a user with 'admin' privilege to delete the spec\n"
" or set the 'last modified' date. By default, specs can be deleted\n"
" only by their owner.\n"
"\n"
};
ErrorId MsgHelp::HelpRemotes = { ErrorOf( ES_HELP, 180, E_INFO, EV_NONE, 0 ),
"\n"
" remotes -- Display list of remote specifications\n"
"\n"
" p4 remotes [[-e|-E] nameFilter -m max]\n"
"\n"
" Lists remote specifications. (See 'p4 help remote'.)\n"
"\n"
" The -e nameFilter flag lists remote specs with a name that matches\n"
" the nameFilter pattern, for example: -e 'svr-dev-rel*'. The -e flag\n"
" uses the server's normal case-sensitivity rules. The -E flag makes\n"
" the matching case-insensitive, even on a case-sensitive server.\n"
"\n"
" The -m max flag limits output to the specified number of remote specs.\n"
"\n"
};
ErrorId MsgHelp::HelpFetch = { ErrorOf( ES_HELP, 181, E_INFO, EV_NONE, 0 ),
"\n"
" fetch -- copy files from a shared server to a personal server\n"
"\n"
" p4 fetch [-r remotespec -m N -v -O flags -k -n -t] [-S stream | filespec]\n"
" p4 fetch [-r remotespec -v -O flags -n] -s shelf\n"
"\n"
" The fetch command copies the specified set of files, and the\n"
" changelists which submitted those files, into this server from\n"
" the specified remote server.\n"
"\n"
" A fetch is only allowed if the files being fetched fit cleanly into\n"
" this server, building precisely on a shared common history.\n"
" If there are no conflicts, the files and their changelists become\n"
" new submitted changelists in this server.\n"
"\n"
" The second form of the command copies a shelved changelist, rather\n"
" than one or more submitted changelists, in which case conflicts do\n"
" not arise; the result is a new shelved change in the target server.\n"
"\n"
" Conflict handling is enabled using the -t flag. If no conflict\n"
" handling was specified, and there are any conflicts or gaps,\n"
" the fetch is rejected.\n"
"\n"
" After handling the conflicting changes, the remote work is then\n"
" fetched. After the fetch completes, use 'p4 resubmit' to resubmit\n"
" the conflicting local changes.\n"
"\n"
" When the changelists are added to this server, they\n"
" are given newly assigned change numbers but they retain the\n"
" same description, user, date, type, workspace, and set of files.\n"
"\n"
" When the files are added to this server, they are kept\n"
" in their same changelists, as new revisions starting after the\n"
" current head. The new revisions retain the same revision number,\n"
" file type, action, date, timestamp, digest, and file size.\n"
"\n"
" Although the changelists are new submitted changelists in this\n"
" server, none of the submit triggers are run in this server.\n"
"\n"
" Typically, the fetch command specifies a remote spec, and the\n"
" DepotMap field in the remote spec specifies which files are to be\n"
" fetched. The fetch command may also specify an argument to further\n"
" restrict the files to be fetched.\n"
"\n"
" The restriction argument may be either the name of a stream\n"
" (e.g., '-S dev'), or it may be a filename pattern (e.g.,\n"
" //stream/dev/...). You may not specify both types of restrictions\n"
" in a single fetch command.\n"
"\n"
" If a stream name or filespec is provided, and the remote spec uses\n"
" differing patterns for the local and remote sides of the DepotMap,\n"
" the stream name or filespec argument must specify the files using the\n"
" local server's depot syntax. Note that the filespec must always be\n"
" provided using depot syntax, not client syntax nor filesystem syntax.\n"
"\n"
" If a particular changelist includes some files that match the\n"
" restriction, and other files that do not, then only the matching\n"
" files are included in the fetch. Note that if a remote spec is also\n"
" provided, only the files that match the restriction and are mapped by\n"
" the remote spec are included in the fetch.\n"
"\n"
" In addition to the file revisions and the changelists, the fetch\n"
" command also copies the archive content to this server.\n"
" In the case of lazy copies, this server may already have the\n"
" corresponding archive, in which case the lazy copy is adjusted\n"
" to reference this server's existing archives.\n"
"\n"
" The fetch command also copies all integration records which\n"
" describe integrations to the files being fetched. These integration\n"
" records are adjusted in this server to reflect the resulting\n"
" changelist numbers and revision numbers of this server.\n"
" Integration records are copied only if the integration source is\n"
" mapped by the remote spec specified for the fetch.\n"
"\n"
" The fetch command also copies all attributes which have been set on\n"
" the files being fetched using 'p4 attribute', and copies all fixes\n"
" which have been attached to the changelists being fetched, providing\n"
" the jobs mentioned by those fixes exist in the destination server.\n"
"\n"
" In order to fetch a set of files, you must have read access to those\n"
" files in the remote repository, and you must have write access to\n"
" those same files in this repository; your local userid is used as\n"
" the userid at the target server and you must already be logged in\n"
" to both servers prior to running the fetch command.\n"
"\n"
" By default, changes cannot be fetched from server to server; in order\n"
" to fetch changes from another server, an administrator of each server\n"
" must enable fetching. Set server.allowfetch=1 on the server which\n"
" initiates the fetch; set server.allowfetch=2 on the remote server.\n"
"\n"
" The fetch command is atomic: either all the specified files\n"
" are fetched, or none of them are fetched.\n"
"\n"
" Files with the filetype modifier +S have some special considerations.\n"
" When fetching files of type +S, old archives which exceed the\n"
" specified limit are not purged by the fetch command.\n"
"\n"
" The -r flag specifies a remote spec which contains the address of\n"
" the target server, and a file mapping which is to be used to re-map\n"
" the files when they are fetched from the target server. If -r is not\n"
" specified, the default is -r origin. See also 'p4 help remote'.\n"
"\n"
" The -m flag specifies to perform a shallow fetch; only the last N\n"
" revisions of each file are fetched.\n"
"\n"
" The -n flag performs all the correctness checks, but does not\n"
" fetch any files or changelists from the target server.\n"
"\n"
" The -s flag specifies a shelved changelist to be fetched, instead\n"
" of fetching one or more submitted changelists.\n"
"\n"
" The -S flag specifies a stream name to restrict the files to be\n"
" included in the fetch.\n"
"\n"
" The -t flag specifies that conflicting changes should be moved to\n"
" a new tangent, as described earlier. The -t flag requires the -r\n"
" flag. The -t flag also requires that an administrator has set\n"
" server.allowrewrite=1. In order to use the -t flag, you must have\n"
" admin access to the files to be fetched.\n"
"\n"
" The -k flag specifies that the fetch command should not sync files.\n"
" Normally, after fetching new work, the fetch command automatically\n"
" syncs your workspace to the head revision. The -k flag prevents that\n"
" automatic sync operation.\n"
"\n"
" The -v flag specifies verbose mode.\n"
"\n"
" The -O flag controls the output verbose mode, and has the format\n"
" '-Ocfi'. If 'c' is specified, verbose mode includes information about\n"
" each changelist; if 'f' is specified, verbose mode includes\n"
" information about each file; if 'i' is specified, verbose mode\n"
" includes information about each integration. The default is -Oc.\n"
"\n"
};
ErrorId MsgHelp::HelpDvcs = { ErrorOf( ES_HELP, 182, E_INFO, EV_NONE, 0 ),
"\n"
" Using Perforce as a decentralized version control system:\n"
"\n"
" init Create a new personal server\n"
" clone Clone a new personal server from a shared server\n"
" switch Switch to a new stream, optionally creating it\n"
" remote Define a connection to a shared server\n"
" remotes List the known shared servers\n"
" fetch Copy files from a shared server to a personal server\n"
" push Copy files from a personal server to a shared server\n"
" unsubmit Unsubmit a change, leaving the work in a shelf\n"
" resubmit Resubmit unsubmitted changes\n"
" zip Package a set of files for use by p4 unzip\n"
" unzip Import files from a p4 zip package file\n"
"\n"
" Perforce can be used as either a centralized version control system,\n"
" or as a decentralized version control system, or as a blend of both\n"
" approaches, to accomplish the following:\n"
"\n"
" - You can create a personal server that you can use to manage\n"
" versioned content all by yourself, without interacting with\n"
" any other Perforce server unless you want to.\n"
"\n"
" - You can copy work between Perforce servers to implement\n"
" various collaboration workflows.\n"
"\n"
" - You can rewrite and revise history to discard unwanted\n"
" intermediate information.\n"
"\n"
" Use the 'p4 init' command to create a new personal repository,\n"
" or use the 'p4 clone' command to create one with files from an\n"
" existing server. Use the 'p4 switch' command to create new\n"
" streams, and to switch back and forth between existing streams.\n"
"\n"
" Use the 'p4 fetch' and 'p4 push' commands to copy work back and\n"
" forth between servers, either peer-to-peer or in a hub-and-spoke\n"
" or hierarchical arrangement. The work that is copied is typically\n"
" one or more submitted changelists, but can also be a shelved change.\n"
" Pushing a shelved change can accomodate various code review workflows.\n"
"\n"
" Use the 'p4 remote' and 'p4 remotes' commands to manage connections\n"
" to multiple partner repositories.\n"
"\n"
" Use the 'p4 unsubmit' and 'p4 resubmit' commands to rewrite and\n"
" revise history prior to pushing that work to other servers.\n"
"\n"
" The new fetch, push, and unsubmit functionality is disabled by\n"
" default. To enable the new functionality, set the 'server.allowpush',\n"
" 'server.allowfetch', and/or 'server.allowrewrite' configurables\n"
" to enable the desired level of operation.\n"
"\n"
" The 'p4 zip' and 'p4 unzip' commands enable the equivalent of fetching\n"
" and pushing files in scenarios where a simple authenticated network\n"
" connection between the two servers cannot be established.\n"
"\n"
" Files of type +l can be cooperatively locked across servers. The\n"
" shared server must be configured as a Commit Server, and must also\n"
" set server.allowRemoteLocking=1. Then individual personal servers\n"
" can use the --remote flag on 'p4 edit' to manage exclusive file locks\n"
" on the Commit Server; these locks are released when the files are\n"
" pushed. See 'p4 help edit', 'p4 help push', and 'p4 help unlock'.\n"
};
ErrorId MsgHelp::HelpSwitch = { ErrorOf( ES_HELP, 183, E_INFO, EV_NONE, 0 ),
"\n"
" switch -- Switch to a different stream, or create a new stream.\n"
"\n"
" p4 switch [-c -m -v -P parent] [-Rx] [-r] stream\n"
" p4 switch [-r -v] [-Rx] stream@change\n"
" p4 switch -l -L\n"
" p4 switch\n"
"\n"
" The switch command switches to a different stream, optionally\n"
" creating and populating that stream.\n"
"\n"
" By specifying a stream with an optional change, the client will\n"
" be switched to a stream specification that was available at the\n"
" time of that change, also the workspace will be synced to that\n"
" changelist. This command variation is perfect for reproducing\n"
" back-in-time view and revision synchronization.\n"
"\n"
" The -c flag specifies that the new stream should be created and\n"
" populated with a copy of all the files in the current stream.\n"
" Local (dvcs) server only command.\n"
"\n"
" The -m flag specifies that switch -c should create a new stream\n"
" with no parent (an independent mainline). The new stream will be\n"
" initially empty.\n"
"\n"
" The -P flag specifies that switch -c should create a new stream\n"
" with the specified stream as its parent, and thus the new stream\n"
" will be populated with the files from the specified stream, rather\n"
" than the files from the current stream.\n"
"\n"
" The -l flag specifies that all known streams should be listed.\n"
"\n"
" The -L flag specifies that all streams that were switched @change\n"
" with files open in that stream should be listed.\n"
"\n"
" The -r flag reopens files in the new mapped location of the specified\n"
" stream. If you omit the -r flag, and you have opened files in the\n"
" current stream, those files are shelved before switching to the new\n"
" stream, and are unshelved subsequently when you switch back to this\n"
" stream.\n"
"\n"
" The -R option changes the way 'reconcile' is run when switching\n"
" between streams:\n"
"\n"
" -Ra reconcile files not currently under Perforce control,\n"
" (these files are opened for add).\n"
" -Re reconcile files that have been modified,\n"
" (these files are opened for edit).\n"
" -Rd reconcile files that have been removed,\n"
" (these files are opened for delete).\n"
" -Rn reconcile does not run.\n"
"\n"
" Without this option, 'reconcile' runs as if all (-Raed)\n"
" options were set.\n"
"\n"
" The -v flag gives verbose information.\n"
"\n"
" With no arguments, the switch command displays the current stream.\n"
"\n"
" When switching to a different stream, the switch command first runs\n"
" 'p4 reconcile' to determine which files have been modified in the\n"
" current stream.\n"
"\n"
" You cannot switch to a new stream if files are open in a numbered\n"
" changelist. If files are open in the default changelist, they will\n"
" be shelved and reverted prior to switching to the new stream, and\n"
" will be automatically unshelved when switching back to this stream.\n"
"\n"
" After switching to the new stream, switch syncs your workspace to\n"
" the head of the new stream, and unshelves any files which were open\n"
" in the default changelist the last time you used that stream.\n"
};
ErrorId MsgHelp::HelpInit = { ErrorOf( ES_HELP, 184, E_INFO, EV_NONE, 0 ),
"\n"
" init -- Initialize a new Perforce repository.\n"
"\n"
" p4 init is a client side command. For detailed help run\n"
" p4 init -h\n"
};
ErrorId MsgHelp::HelpClone = { ErrorOf( ES_HELP, 188, E_INFO, EV_NONE, 0 ),
"\n"
" clone -- Clone a new Perforce repository from an existing one.\n"
"\n"
" p4 clone is a client side command. For detailed help run\n"
" p4 clone -h\n"
};
ErrorId MsgHelp::HelpResubmit = { ErrorOf( ES_HELP, 185, E_INFO, EV_NONE, 0 ),
"\n"
" resubmit -- resolve and resubmit some or all unsubmitted changes\n"
"\n"
" p4 resubmit -l\n"
" p4 resubmit [-R] -m\n"
" p4 resubmit [-R] -e\n"
" p4 resubmit [-R] -i [ [-r remote] file...]\n"
"\n"
" The resubmit command resubmits changes which have been unsubmitted.\n"
"\n"
" The resubmit command is typically used in one of two scenarios:\n"
" - to resolve conflicting changes which were detected and\n"
" unsubmitted by running 'p4 fetch -t'.\n"
" - to revise a set of changelists that you have submitted locally,\n"
" but have not pushed to any other server, and have unsubmitted.\n"
"\n"
" If the -l flag is specified, resubmit lists all the unsubmitted\n"
" changes but takes no action. This is useful as a way to preview\n"
" the work that must be resubmitted.\n"
"\n"
" There are three modes in which resubmit may run:\n"
" - automatic\n"
" - partially interactive\n"
" - fully interactive\n"
"\n"
" If the -m flag is specified, resubmit runs in automatic mode. The\n"
" first thing resubmit -m does is to sync your workspace to #head.\n"
" Then, resubmit -m processes each conflicting change, doing the\n"
" following for each change:\n"
" - sync\n"
" - integrate tangent/...@=change dest/...\n"
" - resolve -am\n"
" - submit\n"
"\n"
" If, for any change in the list, the 'resolve -am' processing detects\n"
" merge conflicts in any file in that change, the resubmit command\n"
" terminates at that point. All the files in that change which had\n"
" merge conflicts are left unresolved. You must then run the resolve\n"
" command to resolve the conflicts. Then run 'resubmit -R -m' to\n"
" resume the resubmit process.\n"
"\n"
" For all three resubmit modes, you can use the -R flag to resume the \n"
" resubmit process once conflicts have been resolved. This flag causes \n"
" resubmit to begin by submitting that fully-resolved change, after \n"
" which it will proceed to the next unsubmitted change.\n"
"\n"
" The -e flag runs resubmit in partially-interactive mode.\n"
" The -e flag allows you to resolve each change, build and run tests,\n"
" examine differences, etc., prior to submitting it,\n"
" while the -i flag is a fully-interactive resubmission tool.\n"
"\n"
" If the -e flag is specified, resubmit prepares the first (oldest)\n"
" conflicting change, then exits. The files for the change are open\n"
" in your workspace, but not resolved. You must then resolve the\n"
" merges, reopen and modify already-resolved merges, or make any other\n"
" necessary changes. You can additionally build and test the changes,\n"
" inspect them, etc. When you are satisfied with this change, run \n"
" 'resubmit -R -e' to submit it and prepare the next conflicting change.\n"
"\n"
" If the -i flag is specified, resubmit runs in fully interactive mode.\n"
"\n"
" If a file path is also specified, interactive resubmit first\n"
" unsubmits each change that modified a file in that path. If the -r\n"
" flag is additionally specified, it names a remote spec. The mapping\n"
" in the remote spec is then used to limit the files affected by the\n"
" unsubmit operation. Thus a command such as 'p4 resubmit -r rmt @>=17'\n"
" will affect only the files specified by the remote spec, not all\n"
" files in the depot.\n"
"\n"
" Resubmit -i then processes each conflicting change. For each change,\n"
" resubmit displays summary information about the change, then\n"
" offers the following prompts:\n"
"\n"
" c Modify the change description for this change\n"
" m Merge this change, then submit if no conflicts\n"
" e Merge this change, then exit for further editing\n"
" r Interactively resolve this change, then \n"
" submit if no conflicts\n"
" a Add (squash) this change into the next conflicting\n"
" change\n"
" s Skip this change and move on to the next\n"
" d Delete this change without submitting it\n"
" b Begin again from the earliest remaining change\n"
" l List the changes remaining to be processed\n"
" v View the current change in short form\n"
" V View the current change with full diffs\n"
" R Display the status of resolved and unresolved merges\n"
" q Quit the resubmit operation\n"
" ? Display (short) help during the resubmit command.\n"
"\n"
" After choosing either 'e' or 'q', you can subsequently continue\n"
" interactive resubmit by running 'resubmit -R -i'.\n"
"\n"
" The interactive resubmit command is very flexible: you can reorder\n"
" changes, combine changes, discard changes, etc.\n"
"\n"
" When multiple changes are resubmitted by the resubmit command, the\n"
" command will automatically switch to the correct stream at the start\n"
" of resubmitting each change. This means that, when the command\n"
" completes, your current stream may have been switched. You should\n"
" then run 'p4 switch' and 'p4 switch -l' if necessary, and switch\n"
" back to the desired stream before resuming your work.\n"
"\n"
" The SubmitOptions flags in the client spec have no effect on the\n"
" changelists that are submitted by 'p4 resubmit'; this command always\n"
" operates in 'submitunchanged' mode.\n"
"\n"
" The resubmit command is not available on an Edge Server.\n"
"\n"
" 'p4 rebase' is an alias for 'p4 resubmit'.\n"
"\n"
};
ErrorId MsgHelp::HelpResubmitShort = { ErrorOf( ES_HELP, 186, E_INFO, EV_NONE, 0 ),
" The following actions are available:\n"
" c Modify the change description for this change\n"
" m Merge this change, then submit if no conflicts\n"
" e Merge this change, then exit for further editing\n"
" r Interactively resolve this change, then \n"
" submit if no conflicts\n"
" a Add (squash) this change into the next unsubmitted\n"
" change\n"
" s Skip this change and move on to the next\n"
" d Delete this change without submitting it\n"
" b Begin again from the earliest remaining change\n"
" l List the changes remaining to be processed\n"
" v View the current change in short form\n"
" V View the current change with full diffs\n"
" R Display the status of resolved and unresolved merges\n"
" q Quit the resubmit operation\n"
" ? Display this help.\n"
};
ErrorId MsgHelp::HelpAliases = { ErrorOf( ES_HELP, 192, E_INFO, EV_NONE, 0 ),
"\n"
" aliases -- Display the list of aliases from the P4ALIASES file.\n"
"\n"
" The aliases file can be used to define command line aliases.\n"
"\n"
" When using the p4 command line tool, each command you enter is\n"
" transformed by any alias definitions in your aliases file prior\n"
" to being sent to the server for execution.\n"
"\n"
" Typical uses of aliases include: abbreviating complex commands;\n"
" displaying command results in alternate output formats; automating\n"
" simple multi-command sequences; and providing alternate syntax\n"
" for commands you find hard to remember.\n"
"\n"
" The name of the aliases file is ~/.p4aliases on non-Windows platforms\n"
" and %%USERPROFILE%%\\p4aliases.txt on Windows platforms; this\n"
" can be overridden using the P4ALIASES environment variable.\n"
"\n"
" Your aliases file can contain as many aliases as you want, in any\n"
" order, specified one per line in the format:\n"
"\n"
" alias = transformation\n"
"\n"
" Your aliases file can also contain comments: if the first non-blank\n"
" character on a line is '#', the entire line is treated as a comment.\n"
"\n"
" When you issue a command which matches one of your aliases, the\n"
" command is automatically modified by applying the transformation\n"
" before issuing the command.\n"
"\n"
" Alias matching is case-sensitive even on otherwise case-insensitive\n"
" platforms.\n"
"\n"
" The transformation can be a simple replacement:\n"
"\n"
" commit = submit\n"
" halt = admin shutdown\n"
"\n"
" Certain characters in an alias definition have special meaning:\n"
" = : separates the alias and its transformation\n"
" $(var) : denotes a named variable\n"
" && : separates two commands in a multi-command alias\n"
" > : directs the output of a command to a variable\n"
" < : directs the input of a command from a variable\n"
" \\ : indicates the transformation continues on the next line\n"
"\n"
" The transformation can thus be more complex, and result in multiple\n"
" commands issued to the server:\n"
"\n"
" show-status = monitor show && lockstat && changes -m 1\n"
"\n"
" The transformation can include parameter substitutions:\n"
"\n"
" myChanges = changes -u $(P4USER)\n"
"\n"
" The parameters can be arguments to the alias:\n"
"\n"
" my-recent-changes $(max) = changes -u $(P4USER) -m $(max)\n"
"\n"
" The special built-in variables $(EQ), $(LT), and $(GT) expand\n"
" to =, <, and >, respectively.\n"
"\n"
" Complex aliases are possible, and often involve using the output\n"
" of one command as input to another:\n"
"\n"
" show-last-change=-F \"%%change%%\" -ztag changes -m 1 \\\n"
" -s submitted > $(chg) &&\n"
" describe -s $(chg)\n"
"\n"
" reopenCL $(cl) = -F \"%%depotFile%%\" -ztag files @$(EQ)$(cl) \\\n"
" > $(files) &&\n"
" -x - edit < $(files)\n"
"\n"
};
// ErrorId graveyard: retired/deprecated ErrorIds.
ErrorId MsgHelp::HelpBrowse = { ErrorOf( ES_HELP, 107, E_INFO, EV_NONE, 0 ),
"\n"
" browse -- Browse for a list of Zeroconf-registered Perforce servers.\n"
"\n"
" p4 browse\n"
"\n"
" 'p4 browse' lists all the Perforce servers that have registered\n"
" with Zeroconf. Requires a 2008.2 or above client and local dynamic\n"
" libraries and Zeroconf (Avahi or Bonjour) services.\n"
}; // DEPRECATED 2013.1 removed ZeroConf
ErrorId MsgHelp::HelpZeroConf = { ErrorOf( ES_HELP, 105, E_INFO, EV_NONE, 0 ),
"\n"
" Zeroconf service support\n"
"\n"
" The following flags and environment variables configure both\n"
" server and proxy processes\n"
"\n"
" p4d -0\n"
" When the Perforce server is registered as a Zeroconf service, the\n"
" service-type is 'p4', which is visible in DNS Service browse mode\n"
" Discovery as '_p4._tcp'. If mDNS is not available on the host,\n"
" service registration fails and logs an error in the server log,\n"
" after which server continues the startup process.\n"
"\n"
" The -0 (digit zero) flag enables Zeroconf registry at server start time,\n"
" overriding any value set for the $P4ZEROCONF environment variable.\n"
" When using the environment variable, the presence of the variable\n"
" in the environment enables the service registry.\n"
"\n"
" The following identity flags can be used to configure Zeroconf\n"
" registry settings:\n"
"\n"
" p4d -In name\n"
" Specifies a unique name for your server. This name is\n"
" displayed in 'p4 -ztag info' output and by DNS Service\n"
" Discovery, if you register the process as a Zeroconf service.\n"
" This flag overrides any value set for the $P4NAME environment\n"
" variable. If the name includes spaces, double-quote it.\n"
" A valid name must contain at least one non-numeric character.\n"
"\n"
" p4d -Id description\n"
" Specifies a description of your server. This description is\n"
" displayed in 'p4 -ztag info' output and by DNS Service\n"
" Discovery, if you register the process as a Zeroconf service.\n"
" This flag overrides any value set for the $P4DESCRIPTION\n"
" environment variable. If the description includes spaces,\n"
" double-quote it.\n"
"\n"
}; // DEPRECATED 2013.1 removed ZeroConf