/* * 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