const char *actioncodesHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>P4Web User Guide - P4Web URL Reference</FONT></B><BR>\n" "\n" " <p>You can link to Perforce depot information from within your own HTML \n" " documents by constructing URLs that direct P4Web to return specified data. \n" " Such URLs can be used in email, in web pages (static or CGI-generated), \n" " and in any context where URLs are useful. You can create scripts that \n" " construct such URLs and pass them to a Web browser, enabling users to \n" " display Perforce information without requiring them to install Perforce \n" " client applications on their computer. In constructing the URLs, use the \n" " same options and flags that you use on the command line. </p>\n" " <p>Some simple examples: </p>\n" " \n" "<table border=\"1\" cellpadding=\"1\">\n" " <tr>\n" " <td>Display the file <tt>//depot/main/atlas/readme.txt</tt> </td>\n" " <td><tt>http://myp4web:8080/depot/main/atlas/readme.txt</tt></td>\n" " </tr>\n" " <tr>\n" " <td>List the files in <tt>//depot/main/atlas</tt></td>\n" " <td><tt>http://myp4web:8080/depot/main/atlas/</tt></td>\n" " </tr>\n" " <tr> \n" " <td >Display the depot root for the server to which P4Web is connected </td>\n" " <td ><tt>http://myp4web:8080/</tt></td>\n" " </tr>\n" " <tr> \n" " <td>List the executable files (files with a <tt>.exe </tt>extension) in a specified folder</td>\n" " <td> <tt>http://myp4web:8080//depot/main/binaries/windows/*.exe</tt> </td>\n" " </tr>\n" " <tr> \n" " <td> Display a file as it appeared on a specified date </td>\n" " <td><tt>http://myp4web:8080//depot/www/sitemap.html@2004/1/1</tt></td>\n" " </tr>\n" "</table>\n" "\n" "<h3>URL Syntax</h3>\n" "\n" " The syntax for P4Web URLs is as follows: \n" " <blockquote> \n" " <p><tt>http://<em>p4webhostname</em>:<em>port</em>/[@<em>parameters</em>@][/]/<em>object</em>[[?ac=<em>n</em>][&<em>parameters</em>]]</tt> </p>\n" " </blockquote>\n" " <p>P4Web uses a variety of other elements in the URLs that it constructs, \n" " but you can omit these elements in the URLs that you construct for your \n" " queries. The basic elements of URLs for P4Web are as follows.</p> \n" "<table border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td> \n" " <h3>Element</h3> </td>\n" " <td> \n" " <h3>Description</h3> </td>\n" " </tr>\n" " <tr> \n" " <td><tt>http://<i>p4webhostname</i>:<i>port</i>/</tt> </td>\n" " <td>The P4Web server and port</td>\n" " </tr>\n" " <tr> \n" " <td><tt><i>parameters</i></tt> </td>\n" " <td><p>A list of<tt><em> arg</em>=<em>value</em></tt> pairs separated by “&”: <em><tt>arg</tt></em><tt>=<em>value</em>[&<em>arg</em>=<em>value</em>]</tt></p>\n" " <p>Parameters can be specified before or after the object. If you specify parameters before the object, delimit the parameters with "at" signs (@). If you specify parameters after the object, precede the list of parameters with a question mark (?). The parameter syntax is the standard format for URL queries.</p> </td>\n" " </tr>\n" " <tr> \n" " <td><tt><em>object</em></tt></td>\n" " <td>Depot file, spec name (for example, job, user, label, etc.), or a P4 command. If you omit the action code, the object is interpreted as a depot path specifying a file or folder. The parameter list can include an action code.</td>\n" " </tr>\n" " <tr> \n" " <td><tt>ac=<i>n</i></tt> </td>\n" " <td>(optional) Action code, preceded by "?" (that is, formatted as <tt>GET</tt> data). Specify the action code in the list of parameters as described above.</td>\n" " </tr>\n" "</table>\n" "<p>To specify a folder or file that resides in the Perforce server, use the following syntax:</p>\n" "<blockquote>\n" " <p><tt>//<em>depot_path</em>/[@<em>revision_specifier</em>]</tt></p>\n" "</blockquote>\n" "<p>where \n" " <tt>//<i>depot_path</i>/</tt> specifies the file or folder and \n" " <tt><em>revision_specifier</em></tt> is a revision number, changelist number, label, \n" "or date in <tt>yyyy/mm/dd</tt> format. The depot path can be preceded by a single slash or the Perforce standard double slash.</p>\n" "<p>To specify special-purpose characters in URLs, use the standard escape sequence <tt>%<em>hex-value</em></tt>. You must escape the following special-purpose characters:</p>\n" "<ul>\n" " <li># </li>\n" " <li>?</li>\n" " <li>&</li>\n" " <li>=\n" " </li>\n" "</ul>\n" "<p>For example, to display a list of \n" " labels owned by user <tt>bruno</tt>, you can create a URL that includes the <tt>p4 labels</tt> command. The following URL uses the <tt>%20</tt> escape sequence to specify the spaces required to separate the syntactic elements of the command:</p>\n" "<blockquote>\n" " <p> <tt>http://myserver.perforce.com/p4%20labels%20-u%20bruno?ac=201</tt>\n" " </p>\n" "</blockquote>\n" "<h3>Action Codes\n" "</h3>\n" "<p>The following table lists the action codes that are supported for P4Web URLs. \n" " There are no action codes for commands that require administrator privileges.</p>\n" "<table border=\"1\" >\n" " <tr> \n" " <td > \n" " <h3>Type</h3> </td>\n" " <td > \n" " <h3>Description</h3> </td>\n" " <td > \n" " <h3>Action<br>\n" " Code</h3> </td>\n" " </tr>\n" " <tr> \n" " <td rowspan=\"3\"><b>Branches</b></td>\n" " <td nowrap > \n" " <p>Display view for a specified branch specification</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080/talkhouse1.0?ac=14</tt></p> </td>\n" " <td >14</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>Compare branched source and target files using a branch specification</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080/talkhouse1.0?ac=126</tt></p> </td>\n" " <td >126</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>List branch specifications</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080/?ac=82</tt></p> </td>\n" " <td >82</td>\n" " </tr>\n" " <tr> \n" " <td rowspan=\"4\"><b>Changelists</b></td>\n" " <td nowrap > \n" " <p>Display detail for specified changelist</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080/799?ac=10</tt></p>\n" " <p> </p> </td>\n" " <td >69</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>List all submitted changelists for specified path</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//depot/Talkhouse/rel1.0/?ac=43 \n" " </tt></p> </td>\n" " <td >43</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>Display fixes for a specified changelist</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080/799?ac=133</tt></p> </td>\n" " <td >133</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>Display submitted changelists containing specified file</p> \n" " <p><b>Example:</b><tt> http://myp4web:8080//depot/Jam/MAIN/src/Build.com?ac=69</tt> </p></td>\n" " <td >10</td>\n" " </tr>\n" " <tr> \n" " <td><b>Diffing</b></td>\n" " <td nowrap > \n" " <p>Diff two file revisions</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//depot/main-dev/EBolt.java?ac=19&rev1=1&rev2=2</tt></p>\n" " <p>or:</p>\n" " <p><tt>http://myp4web:8080/@rev1=1&rev2=2@//depot/main-dev/EBolt.java?ac=19</tt></p></td>\n" " <td >19</td>\n" " </tr>\n" " <tr> \n" " <td rowspan=\"6\"><b>Files</b></td>\n" " <td nowrap > \n" " <p>List files in specified path matching specified pattern (including wildcards)</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080/@pat=*.java@//depot/Talkhouse/main-dev/?ac=30</tt></p> </td>\n" " <td >30</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>Display file as plain text within an HTML document </p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//depot/www/dev/index.html?ac=64</tt></p> </td>\n" " <td >64</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>Send file contents to browser as text/plain document</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//depot/www/dev/index.html?ac=18</tt></p> </td>\n" " <td >18</td>\n" " </tr>\n" " \n" " <tr> \n" " <td nowrap > \n" " <p>Display annotated file text</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//depot/www/dev/index.html?ac=193</tt></p> </td>\n" " <td >193</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>Display revision history</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//depot/main/ProjectX/Help/roadmap.html?ac=22</tt></p> </td>\n" " <td >22</td>\n" " </tr>\n" " <tr> \n" " <td nowrap >\n" " <p> Diff a file revision against the previous revision</p>\n" " <p><strong>Example</strong>: <tt>http://myp4web:8080//depot/main-dev/EBolt.java?ac=185&rev1=9</tt></p> </td>\n" " <td >185</td>\n" " </tr>\n" " <tr><td rowspan=\"5\"><b>Jobs</b></td> \n" " <td nowrap > \n" " <p>Display a list of files and folders in specified path</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//depot/www/dev/?ac=83</tt></p> </td>\n" " <td >83</td>\n" " </tr>\n" " <tr>\n" " <td nowrap > \n" " <p>List jobs</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//?ac=107</tt></p> </td>\n" " <td >107</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>Display job detail</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080/job000018?ac=111</tt></p> </td>\n" " <td >111</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>Display changelists that fix a specified job</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080/job000018?ac=135</tt></p> </td>\n" " <td >135</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>Display the job specification</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080/?ac=130</tt></p> </td>\n" " <td >130</td>\n" " </tr>\n" " <tr> \n" " <td rowspan=\"4\"><b>Labels</b></td>\n" " <td nowrap > \n" " <p>List files in a specified label</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080/jam-1.1.0?ac=118</tt></p> </td>\n" " <td >118</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>List labels</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//?ac=77</tt></p> </td>\n" " <td >77</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>Display detail for a specified label</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080/jam-1.1.0?ac=16</tt></p> </td>\n" " <td >16</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>List labels that contain files in a specified path</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//depot/www/dev/?ac=127</tt></p> </td>\n" " <td >\n" " <p>127</p>\n" " <p>(or use 184 to omit links)</p> </td>\n" " </tr>\n" " <tr> \n" " <td rowspan=\"5\"><b>Reporting</b></td>\n" " <td nowrap > \n" " <p>Display file view of server positioned as specified (<tt>to //depot</tt>, in this example).</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//depot/?ac=71</tt></p> </td>\n" " <td >71</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>Show status of specified file (same as <tt>ac=22</tt> minus revision history)</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//depot/Jam/MAIN/src/Build.com?ac=104</tt></p> </td>\n" " <td >104</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>List all open files (all workspaces). Be advised that this action code can return extremely large amounts of output.</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//?ac=62</tt></p> </td>\n" " <td >62</td>\n" " </tr>\n" " <tr>\n" " <td nowrap >\n" " <p>Run a p4 command, returning output as XML.</p>\n" " <p><b>Example</b>: <tt>http://myhost:8080//p4%20info?ac=201</tt></p> </td>\n" " <td >201</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>Display server and P4Web version info</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//?ac=151</tt></p> </td>\n" " <td >151</td>\n" " </tr>\n" " <tr> \n" " <td rowspan=\"2\"><b>Users</b></td>\n" " <td nowrap > \n" " <p>Display details for specified user</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080/bruno?ac=17 </tt> </p> </td>\n" " <td >17</td>\n" " </tr>\n" " <tr> \n" " <td nowrap > \n" " <p>List users</p>\n" " <p><b>Example:</b><tt> http://myp4web:8080//?ac=81 </tt> </p> </td>\n" " <td >81</td>\n" " </tr>\n" "</table>\n" "\n" "<h3>Commonly-Used Parameters</h3>\n" "\n" " <p>P4Web uses a variety of parameters in the URLs it constructs. Many of \n" " the parameters are for internal use and are not relevant for scripting. \n" " To construct the precise URL for the information you seek, browse using \n" " P4Web until you have the desired results displayed, then copy the URL \n" " from the address bar and use it as the basis to construct your own URL. Commonly-used \n" " parameters are as follows. \n" " \n" "<table border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td width=\"220\"> \n" " <h3>Parameter</h3> </td>\n" " <td width=\"580\"> \n" " <h3>Description</h3> </td>\n" " </tr>\n" " <tr> \n" " <td><tt>&cd=<i>path</i></tt></td>\n" " <td>Path to a folder</td>\n" " </tr>\n" " <tr> \n" " <td><tt>&nx=<i>n</i> </tt></td>\n" " <td>Maximum number of items to display</td>\n" " </tr>\n" " <tr>\n" " <td><tt>&pat=<i>file_matching_pattern</i></tt></td>\n" " <td>Wildcard expression for matching a set of files</td>\n" " </tr>\n" " <tr>\n" " <td><tt>&rev1=<i>n</i>, @rev2=<em>n</em></tt></td>\n" " <td>Specifies a pair of revisions, for example, for diffing files</td>\n" " </tr>\n" " <tr> \n" " <td><tt>&sho=<i>flag</i></tt></td>\n" " <td>Specifies the partial results that you want returned, as described below</td>\n" " </tr>\n" " <tr> \n" " <td><tt>&sr=@<i>revision_specifier</i></tt></td>\n" " <td>A Perforce revision specifier (revision number, label, date, or changelist \n" " number) </td>\n" " </tr>\n" "</table>\n" "<h3><a name=\"chunks\" id=\"chunks\"></a>Displaying Sections of Results Pages</h3>\n" "<p>To display specified sections of the full-page results that P4Web normally returns, add <tt>sho=<i>section</i>[,<i> section...</i>] </tt> parameters to \n" " the URL. </p><p><strong>Example</strong>: <tt>sho=title,filter,body</tt>. This feature enables you to embed specified portions of P4Web pages into your own web pages. </p>\n" "<p>Valid sections are as follows: </p>\n" "\n" " <table border=\"1\" cellpadding=\"1\">\n" " <tr>\n" " <td><div align=\"left\"><strong>Description</strong></div></td>\n" " <td><div align=\"left\"><strong>Keyword</strong></div></td>\n" " <td><div align=\"left\"><strong>Remark</strong></div></td>\n" " </tr>\n" " <tr>\n" " <td><div align=\"left\">Perforce logo</div></td>\n" " <td><div align=\"left\"><tt>logo</tt></div></td>\n" " <td><div align=\"left\"> </div></td>\n" " </tr>\n" " <tr>\n" " <td><div align=\"left\">Header</div></td>\n" " <td><div align=\"left\"><tt>header</tt></div></td>\n" " <td><div align=\"left\">Includes logo </div></td>\n" " </tr>\n" " <tr>\n" " <td><div align=\"left\">Path</div></td>\n" " <td><div align=\"left\"><tt>path</tt></div></td>\n" " <td><div align=\"left\">Includes logo and header</div></td>\n" " </tr>\n" " <tr>\n" " <td><div align=\"left\">Tabs</div></td>\n" " <td><div align=\"left\"><tt>tabs</tt></div></td>\n" " <td><div align=\"left\"> </div></td>\n" " </tr>\n" " <tr>\n" " <td><div align=\"left\">Toolbar</div></td>\n" " <td><div align=\"left\"><tt>toolbar</tt></div></td>\n" " <td><div align=\"left\"> </div></td>\n" "\n" " </tr>\n" " <tr>\n" " <td><div align=\"left\">Title</div></td>\n" " <td><div align=\"left\"><tt>title</tt></div></td>\n" " <td><div align=\"left\"> </div></td>\n" " </tr>\n" " <tr>\n" " <td><div align=\"left\">Filter</div></td>\n" " <td><div align=\"left\"><tt>filter</tt></div></td>\n" " <td><div align=\"left\"> </div></td>\n" " </tr>\n" " <tr>\n" " <td><div align=\"left\">Body</div></td>\n" " <td><div align=\"left\"><tt>body</tt></div></td>\n" " <td align=\"right\"><div align=\"left\">(Required)</div></td>\n" " </tr>\n" " <tr>\n" " <td><div align=\"left\">Copyright</div></td>\n" " <td><div align=\"left\"><tt>copyright</tt></div></td>\n" " <td><div align=\"left\"> </div></td>\n" " </tr>\n" "</table>\n" " \n" " \n" "<p>To ensure that any generated links in results pages return the same sections, place the <tt>sho</tt> parameter between the "at" signs (@) in the URL that you send to P4Web. For example:</p>\n" "<blockquote>\n" " <p><tt> http://p4webhost:8080/sho=logo,body@//?ac=83</tt></p>\n" "</blockquote>\n" "<p>The page returned by the preceding URL contains only the logo and body. All generated links in this results page also contain the <tt>sho=logo,body</tt> parameter and return only the logo and body when you click them. To ensure that all generated links in the results page return full pages, place the <tt>sho</tt> parameter at the end of the URL.</p>\n" "\n" ; const char *addHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Adding New Files to a Perforce Depot</FONT></B><BR>\n" "\n" "<P> To add new files to a Perforce <a href=\"defs?ac=21#depot\">depot</a>, first \n" " you \"open them for add\", then you <a href=\"submit?ac=21\">submit</a> them. Files \n" " opened for add aren\'t sent to the depot until you submit your pending changelist. \n" " The files must be present in your workspace to be submitted. If you decide you \n" " don\'t want to submit the files after all, use the <a href=\"revert?ac=21\">revert</a> \n" " command to remove them from your pending changelist. \n" "<P>Files can only be opened for add if: \n" "<ul>\n" " <li>They do not already exist in the depot \n" " <li>They are in your client view \n" " <li>You have permission to open them \n" "</ul>\n" "<P>There are two ways to open files for add: \n" "<p>\n" "<UL>\n" " <LI> To open multiple files in a path, select the directory on the <B>Files</B> \n" " tab and then select <b>Open for add...</b> from the <b>Actions</b> menu. \n" " <LI> To open a single file, click on that file in the <B>Files</B> tab and then \n" " select <b>Open for add...</b> from the <b>Actions</b> menu. \n" "</UL>\n" "\n" "\n" "<p> Selecting <b>Open for add...</b> takes you to the page where you <a href=\"addselect?ac=21\">select \n" " files to add</a>. Enter a list of files you want to add, or have P4Web scan \n" " your workspace looking for files to add. \n" "<p> After you have selected the files to add, click <b>Continue</b>. Next, on \n" " the <b>Open for Add</b> page, verify the files you selected and choose options \n" " for how they will be opened. After choosing your options, click the <b>Open \n" " for add</b> button. \n" "<p> The <b>Open for add</b> command doesn\'t create new files. It just lists new \n" " files in a <a href=\"pendingchangelists?ac=21\">pending changelist</a>. You can \n" " create the new files before or after you run <b>open for add</b>. (However, \n" " you don\'t have to worry about <a href=\"help_filetypes?ac=21\">filetype</a> selection \n" " if you create them before running <b>open for add</b>.) \n" "<h4>\"Open for Add\" options</h4>\n" "<ul>\n" "\n" "<p>\n" "<li><b>Put opened files in changelist:</b>\n" "If your client workspace has more than one\n" "<a href=\"pendingchangelists?ac=21\">pending changelist</a>,\n" "you can use this option to select a changelist.\n" "\n" "<p>\n" " <li><b>Specify filetype:</b> When you open a file for add, P4Web looks for the \n" " file in your workspace. If it already exists, its default filetype is determined \n" " from its content. If the file doesn\'t already exist in your workspace, it \n" " is opened as a \"text\" file by default. The <B>Specify filetype</B> option \n" " lets you choose a different filetype than the default. Check the box and select \n" " the filetype and filetype modifier(s). See <a href=\"help_filetypes?ac=21\">Filetypes</a> \n" " for a list of valid choices. \n" " <p>\n" " <li><b>Files:</b> This list is generated from your input when you <a href=\"addselect?ac=21\">selected \n" " which files to add</a>. The checked files will be opened for add. Uncheck \n" " any files you don\'t want to add. \n" "</ul>\n" "\n" ; const char *addselectHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Selecting Files to Add</FONT></B><BR>\n" "\n" "<P> The <b>Open for add...</b> command lets you select files to add to the Perforce \n" " <a href=\"defs?ac=21#depot\">depot</a>. (See <a href=\"add?ac=21\">Adding New Files</a> \n" " for more information.) You can select files by one of two methods: \n" "<ul>\n" " <li> <b>By path:</b> P4Web looks for new files in the workspace directory shown. \n" " (Files that have no matching depot counterparts are considered \"new\".) You \n" " can choose whether P4Web scans subdirectories, or just the current path level, \n" " for new files to add. If you want to add files that are found a directory \n" " other than workspace directory shown, first use the <a href=\"pathbrowser?ac=21\">Path \n" " Browser</a> to navigate to the corresponding depot path, then use the <b>Open \n" " for add...</b> command to select files. If you don\'t see this option on the \n" " \"Open for add\" page, your <a href=\"defs?ac=21#clientview\">client view</a> mapping \n" " might be the problem — see below. \n" " <p>\n" " </li>\n" " <li> <b>By name:</b> Specify the names of files to add. These files do not have \n" " to exist in your workspace yet, although they must be present by the time \n" " you <a href=\"submit?ac=21\">submit</a> them to the depot. You can list multiple \n" " files in the text input area on the page. Each file must appear on its own \n" " line. The files you list are assumed to be in the path shown. If you list \n" " files with pathnames, the pathnames are assumed to be subdirectories of the \n" " path shown. </li>\n" "</ul>\n" "<p> After you\'ve selected files to add, click \"Continue\" to display the <a href=\"add?ac=21\">Open \n" " for Add</a> page, where you can verify the files you selected, and choose options \n" " for how they will be opened. \n" "<h4>Client view mapping</h4>\n" "<p> Perforce uses your <a href=\"defs?ac=21#clientview\">client view</a> to figure \n" " out how a file\'s name and location in your workspace are mapped to its name \n" " and location in the depot. If you have a simple client view mapping, selecting \n" " files to add is easy. However, if your client view mapping is complicated, you \n" " might find that: \n" "<ul>\n" "<p>\n" "<li>The files you select can\'t be opened for add\n" "<p>\n" "<li>The files you open for add are mapped to unexpected depot locations\n" "<p>\n" "<li>The \"Select files to add\" form doesn\'t give you the option \n" " of selecting files by path\n" "</ul>\n" "<p> You might need to <a href=\"editclient?ac=21\">edit your client spec</a> to correct \n" " the view mapping that is causing the problem. \n" ; const char *authHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Passwords and P4Web</FONT></B><BR>\n" "\n" "<p> When you point your browser to your P4Web in <a href=\"helper?ac=21\">Standard \n" " mode</a>, you are prompted for a username and password. \n" "You might subsequently be prompted to reauthenticate for any of the following reasons:\n" "<ul>\n" " <li> After logging out</li>\n" " <li>P4Web has been restarted</li>\n" " <li>Your ticket expired </li>\n" " <li> You changed your password using another Perforce client application </li>\n" " <li> You restarted your browser and you are a remote user or a local user who has not logged in for a week</li>\n" " <li>You have never logged in before using this browser</li>\n" " <li>You deleted the login information from the P4Web URL in the \n" " Address bar of your browser </li>\n" "</ul>\n" "<p> If you are using P4Web in <a href=\"browseonly?ac=21\">Viewer mode</a>, you are \n" " not typically required to enter a password when you start P4Web. However, your \n" " Perforce administrator might have set up the P4Web Viewer at your site to require \n" " one. \n" "<h4>Username restrictions</h4>\n" "<p> In Standard mode, enter the username that matches the one P4Web was started \n" " up with. Normally, this is the same as your system login or account username. \n" " If you do not know your Perforce username, you can go to the command-line and \n" " use the <kbd><b>p4 set</b></kbd> command to view the value of P4USER. \n" "<h4>The importance of passwords</h4>\n" "<p> If your Perforce username has no password associated with it (which is likely \n" " if you\'re using Perforce for the first time), it doesn\'t matter what you type \n" " in your browser\'s password prompt. <a href=\"edituser?ac=21\">Edit your user spec</a> \n" " immediately after you connected with P4Web (Standard mode) to create a Perforce \n" " password for your username. The password is stored by the Perforce server. \n" "<p> A Perforce password prevents others users from using your P4Web and your other \n" " Perforce client programs (P4V, command line, etc.) If your username doesn\'t \n" " have a Perforce password, anyone can connect their browser to your P4Web (or \n" " any other Perforce client programs) and run commands that view and write files \n" " in your workspace. \n" "<p> After you\'ve created a Perforce password by editing your user spec, use that \n" " password in your browser\'s username/password prompt. If you enter the wrong \n" " password in the prompt, P4Web displays a Perforce password error message displayed \n" " in your browser. The message contains a link that you can click to redisplay \n" " the username/password prompt. \n" "<h4>Password format</h4>\n" "<p> Depending on the settings of the Perforce Server that you are connecting to, \n" " the following password format might be required: \n" "<ul>\n" "<li>The password must be mixed case or contain non-alphabetic characters\n" " <li>The password must be at least eight characters in length \n" "</ul>\n" "\n" "\n" "<h4>Changing your Perforce password</h4>\n" "<p> Your browser uses the same password every time it communicates with P4Web. \n" " If you change your Perforce password, either by <a href=\"edituser?ac=21\">editing \n" " your user spec</a> in P4Web, or with another Perforce client program, P4Web \n" " displays Perforce password errors when attempting subsequent operations. To \n" " redisplay the browser username/password prompt and enter your new password, \n" " click on the link in the error message. \n" "<h4>Passwords in the environment</h4>\n" "<p> Perforce passwords set in the environment on Windows and Unix are ignored \n" " by P4Web. Such settings include values in the registry, shell variables, configuration \n" " variables, and values passed with the <kbd><b>-P</b></kbd> flag on the <b>p4web</b> \n" " startup command. (See <a href=\"index?ac=21\">How to Use P4Web</a> for information \n" " about the <b>p4web</b> startup command.) You must enter your Perforce password \n" " at your browser\'s prompt to begin using P4Web. \n" "<h4>P4Web and P4CONFIG</h4>\n" "<p> If the <b>p4web</b> program is started up in an environment with a <tt>P4CONFIG</tt> \n" " value set, it reads Perforce configuration parameters, including client name, \n" " user name, and Perforce Server port address, from the file specified by <tt>P4CONFIG</tt>. \n" " The <b>p4web</b> program rereads the config file every time it receives a request \n" " from a your browser. If you modify your <tt>P4CONFIG</tt> file while P4Web is \n" " running, you affect your P4Web\'s default configuration parameters. (<tt>P4CONFIG</tt> \n" " is discussed in more detail in the <i>Perforce Command Reference</i> found on \n" " the <a href=http://www.perforce.com/perforce/technical.html>Perforce Documentation</a> \n" " web page.) \n" ; const char *bitbHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Back-in-Time Browsing®</FONT></B><BR>\n" "\n" "Back-in-Time Browsing® can show you what the Perforce depot\n" "looked like at any point in time.\n" "If you have web content files stored in Perforce,\n" "Back-in-Time Browsing® can show\n" "you your website as it appeared at any point in time,\n" "under certain conditions.\n" "<p>\n" "\n" "\n" "<h4>Using Back-in-Time Browsing® to view depot state</h4>\n" "\n" "<p>\n" "You can set Back-in-Time Browsing® to view the state of the depot at\n" "a particular point in time from the <b>Settings</b> tab.\n" "See <a href=\"settings?ac=21\">Settings and Preferences</a> for\n" "more information.\n" "<p>\n" "As you browse depot files and paths with Back-in-Time Browsing®\n" "turned on, the information you see will be relative to the date\n" "(or other <a href=\"defs?ac=21#symbolic\">symbolic revision</a>)\n" "value you entered.\n" "For example:\n" "<p>\n" "<ul>\n" "<li>Files that didn\'t exist at that Back-in-Time Browsing® point\n" "won\'t be visible in the Files tab.\n" "(Unless they are open in your workspace, in which case you\'ll see\n" "them, but they\'ll appear to be unsynced.)\n" "<li>If you have \"Show Recent Activity\" turned on,\n" "you\'ll see the most recent changelists relative to the\n" "Back-in-Time Browsing® point.\n" "<li>If you\'re looking at Revision History of a file,\n" "the only revisions displayed will be those that existed at the\n" "Back-in-Time Browsing® point.\n" "</ul>\n" "\n" "<p>\n" "Note that:\n" "\n" "<ul>\n" "<li>\n" "Most menu options and command shortcuts are not available when\n" "Back-in-Time Browsing® is turned on.\n" "<li>\n" "Viewing\n" "<a href=\"user?ac=21\">user specs</a>,\n" "<a href=\"client?ac=21\">client specs</a>,\n" "<a href=\"branch?ac=21\">branch views</a>,\n" "and so forth always shows up-to-date information, even\n" "with Back-in-Time Browsing® turned on.\n" "</ul>\n" "\n" "<p> To turn off Back-in-Time Browsing®, use the <b>Settings</b> tab.\n" "\n" "<h4>Using Back-in-Time Browsing® to view web content</h4>\n" "\n" "<p>\n" "To use Back-in-Time Browsing® with web content files,\n" "first navigate to a file.\n" "You\'ll see the file\'s \n" "<a href=\"filelog?ac=21\">Revision History</a>.\n" "Click on a revision number \n" "to enter Back-in-Time Browsing®.\n" "<p> After you start browsing web content, the only way to return to P4Web is to \n" " use your browser\'s \"Back\" button or re-enter your P4Web URL. \n" "<h4>When does Back-in-Time Browsing® work best?</h4>\n" "\n" "<p>\n" "Under certain conditions,\n" "browsing web content files with P4Web is exactly the same as browsing them\n" "with a web server.\n" "You can see images, click on links, and navigate through\n" "what appears to be a website.\n" "The same conditions give you the best Back-in-Time Browsing® experience.\n" "These conditions are:\n" "<p>\n" "<ul>\n" "<li>\n" "The web content files do not contain any server-side executable code.\n" "<li>\n" "Links to other files in the same website are either:\n" "<ul>\n" "<li>relative to each other (no links with absolute pathnames), or\n" "<li>absolute, with a path hierarchy that matches their depot location.\n" "</ul>\n" "</ul>\n" "<p> You can still use Back-in-Time Browsing® under less than ideal conditions, \n" " but you might not be able to follow all links and see all content. \n" ; const char *branchHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Working with Branches</FONT></B><BR>\n" "<P>\n" "<i>Branching</i> allows any set of files to be copied within the depot, and allows changes made to one set of files to be copied, or <i>\n" "integrated</i>, into another. As the new files evolve separately from the original files, changes in either set of files can be propagated\n" "to the other using the <a href=\"integrate?ac=21\">integrate</a> command.\n" "<P>\n" "A <i>branch spec</i> defines the locations of the original (source) files and the branched (target) files. Branch specs can be used for\n" "integrating or simply for comparing two sets of files.\n" "<P> Using a branch spec is optional. You can simply specify file sets when you \n" " integrate. The advantage of a branch spec is that it stores information that \n" " you can use later. \n" "<P>\n" "Click the <B>Branches</B> tab to view all <a href=\"defs?ac=21#branchspec\">branch specs</a>\n" "known to the Perforce server. Click on a branch name to see more details about that branch spec.\n" "<p>\n" "For information about the fields in a branch spec, see <a href=\"editbranch?ac=21\">Creating and Editing Branch Specs</a>.\n" "\n" "<p> <b>To compare branched files:</b> \n" "<ol>\n" "<li>Select the <B>Branches</B> tab.\n" " <li>Click on a branch spec name to display its details.\n" " <li>Select <b>Compare Branched Files</b> from the <b>Action</b> menu at the top \n" " of the page. This lists the files that differ between the source and the target \n" " of the <a href=\"editbranch?ac=21\">branch spec</a>. \n" "</ol>\n" ; const char *browsemodesHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Depot Browsing vs. Workspace Browsing</FONT></B><BR>\n" "\n" "<p> P4Web can be used to browse files and paths in the Perforce <a href=\"defs?ac=21#depot\">depot</a>. \n" " If you are using P4Web in <a href=\"helper?ac=21\">Standard mode</a>, you can also \n" " use it to browse files and paths in your <a href=\"defs?ac=21#clientworkspace\">client \n" " workspace</a>. Workspace browsing mode affects only the Tree view and File view \n" " pages. All other P4Web pages behave the same, regardless of whether you arrived \n" " at them using depot browsing or workspace browsing. File links in <a href=\"pendingchangelists?ac=21\">pending \n" " changelists</a>, <a href=\"submittedchangelists?ac=21\">submitted changelists</a>, \n" " and <a href=\"filelog?ac=21\">filelogs</a> take you to a File view page with depot \n" " browsing mode in effect, which can be confusing if you started out using workspace \n" " browsing. You can always use your browser\'s <a href=\"tips?ac=21#rightclick\">right-click</a> \n" " feature to keep a workspace browsing window open while following other links. \n" "<p>Note the following distinctions between the two browsing modes.</p>\n" "\n" "<table bgcolor=#eeeeee width=100% cellpadding=5 cellspacing=5 border=1>\n" " <tr> \n" " <td width=10%> </td>\n" " <td width=41%> <b>Depot browsing</b> </td>\n" " <td width=49%> <b>Workspace browsing</b> </td>\n" " </tr>\n" " <tr> \n" " <td width=10% valign=top><b>Am I seeing the depot or the workspace?</b></td>\n" " <td width=41% valign=top> \n" " <p> The <b>Switch to depot tree</b> link turns on depot browsing. It takes \n" " you to a <a href=\"pathbrowser?ac=21\">Tree view</a> page showing the root \n" " of the Perforce depot tree. The Tree view can show files not in your client \n" " workspace. For instance, files not <a href=\"sync?ac=21\">synced</a> to your \n" " workspace, and files you have <a href=\"delete?ac=21\">opened for delete</a>, \n" " can be browsed in depot mode. </p>\n" " </td>\n" " <td width=49% valign=top> \n" " <p> The <b>Switch to workspace tree</b> link starts workspace browsing. \n" " It takes you to a <a href=\"pathbrowser?ac=21\">Tree view</a> page showing \n" " files and path at the top level of your workspace. The Tree view shows \n" " only the files that are actually present in your client workspace. </p>\n" " </td>\n" " </tr>\n" " <tr> \n" " <td width=10% valign=top><b>What\'s the impact on the Perforcer Server?</b></td>\n" " <td width=41% valign=top>You can restrict the scope of depot browsing to the \n" " current <a href=\"defs?ac=21#clientview\">client view</a>. See <a href=\"settings?ac=21\">Settings \n" " and Preferences</a> to find out how to set this. For users of large Perforce \n" " depots, this setting is a good idea because it reduces the amount of work \n" " the Perforce Server has to do for each P4Web depot browsing request. </td>\n" " <td width=49% valign=top>The Perforce Server does less work for P4Web when \n" " you browse the workspace tree because it only has to get information about \n" " files in the current client view. </td>\n" " </tr>\n" " <tr> \n" " <td width=10% valign=top><b>How do I know which mode I\'m in?</b></td>\n" " <td width=41% valign=top> \n" " <p>You\'ll know when you\'re in depot browsing mode because P4Web will show \n" " the current path using Perforce syntax. For example, </p>\n" " <blockquote> <b> <a href=\"\" style=\"text-decoration:none\">//depot/projects/mars/...</a> \n" " </b></blockquote>\n" " </td>\n" " <td width=49% valign=top> \n" " <p> You\'ll know when you are browsing the workspace tree because the current \n" " path will be shown in local syntax. For example: </p>\n" " <dl> \n" " <dt> <i>Windows:</i> </dt>\n" " <dd> <b><a href=\"\" style=\"text-decoration:none\">c:\Joe\workspace\projects\mars \n" " </a></b> \n" " <dt> <i>Unix:</i> </dt>\n" " <dd> <b><a href=\"\" style=\"text-decoration:none\">/usr/team/joe/ws/projects/mars</a></b> \n" " <dt> <i>Macintosh:</i> </dt>\n" " <dd> <b><a href=\"\" style=\"text-decoration:none\">::Hard Disk:Joe\'s Workspace:projects:mars</a></b> \n" " </dd>\n" " </dl>\n" " </td>\n" " </tr>\n" "</table>\n" ; const char *browseonlyHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>P4Web Viewers</FONT></B><BR>\n" "\n" "<P>\n" "P4Web in <i>Viewer mode</i> is used strictly as a depot browser and document server.\n" "<p> You cannot sync or edit files using a P4Web in Viewer mode, nor can you edit \n" " client specs or user specs. In fact, you can\'t do anything that changes the \n" " state of files or metadata in the Perforce depot. Therefore, many of the shortcut \n" " buttons and menu choices displayed in the <A HREF=\"controlpanel?ac=21\">control \n" " panel</A> of P4Web in Standard mode are not available when in Viewer mode. \n" "<P>\n" "For information on starting up P4Web in Viewer mode,\n" "see <a href=\"index?ac=21#start\">\n" "How to Start P4Web</a>.\n" "\n" ; const char *clientHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Working with Client Specs</FONT></B><BR>\n" "\n" "<p>\n" "Your <i>client workspace</i> is the area on your local filesystem where you work on files managed by Perforce. Your Perforce <i>client\n" "spec</i> defines your workspace location, the depot files you plan to work with, and where they will be located in your workspace when\n" "you invoke Perforce commands.\n" "\n" "<P>\n" "\n" "You must create a client spec before you can do any work with\n" "files in your workspace. You can then use Perforce commands to move files to and from a shared file repository on the server (the <a\n" "href=\"defs?ac=21#depot\">depot</a>). You can retrieve files from the depot into your own client workspace, where you can read, edit,\n" "and resubmit to the depot for other users to access.\n" "\n" "<P>\n" "<b>Accessing Client Specs</b>\n" "<p> Click on the <B>Clients</B> tab to view a list of all client workspaces known \n" " to the Perforce server. Clicking on a client name in this lists takes you to \n" " the <b>Client Detail</b> page. \n" "<p> If you select a client name that does not match current client workspace, \n" " you can make that your current client by clicking the <b>Switch to</b> link \n" " at the end of the page. For information about the attributes of a client spec, \n" " see <a href=\"editclient?ac=21\">Editing Client Specs</a>. \n" ; const char *commandsHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Issuing P4 Commands</FONT></B><BR> \n" "\n" " <p> For details about p4 commands, refer to the <i>Perforce Command Reference</i>. \n" " To issue P4 commands using P4Web: \n" " <p>Click <img src=\"/p4cmdIcon?ac=20\">. P4Web displays the <b>P4 Command</b> \n" " field.\n" " <p>Type your command into the field (omitting "p4") and click <b>Go</b>. \n" " Results are displayed as text. \n" " <p> To specify paths that include spaces, enclose the path in double quotes. \n" " For example: \n" " <pre> fstat "//depot/dir/file name.h"</pre>\n" " <p> \n" " <p> <b>Note</b>: Due to a limitation of http protocol, you cannot specify filenames \n" " that contain the special characters @ or # when issuing commands using the \n" " P4 tab. \n" " </p>\n" " <h4>Embedding P4 Commands in URLs </h4>\n" " <p>You can execute p4 commands by embedding them in URLs. Command results are \n" " displayed by your browser as text. (This feature is notably useful for Java \n" " applications.)</p>\n" " <p> To embed commands in URLs, use the following format:: </p>\n" " <blockquote> \n" " <p><tt>http://[<i>webhost</i>:<i>port</i>]/p4 <i>command</i> [<i>cmdflags</i>] \n" " [<i>args</i>]?ac=160</tt> (or <tt>ac=161 </tt>for tagged output)</p>\n" " </blockquote>\n" " <P><b>Example</b>: <tt>http://localhost:8080/p4 client -d oldclient?ac=160</tt> \n" " <h4>Entering revision specifiers</h4>\n" " <p>On the command line, revision ranges are preceded by either # (for numeric \n" " revision specifiers) or @ (for dates, labels, or changelists). To embed revision \n" " specifiers in URLs, append %3e followed by %2523 for # or %2540 for @. </p>\n" " <p><b>Example</b>: for <tt>//depot/s/myfile.cpp#9</tt> enter: </p>\n" " <blockquote> \n" " <pre>//depot/s/myfile.cpp%3e%25239</pre>\n" " </blockquote>\n" " <p> \n" " <h4>Specifying special characters</h4>\n" " <p>Spaces can be entered as is or specified as %20.</p>\n" " <p><b>Example</b>: <tt>http://localhost:8080/p4%20clients?ac=161 </tt> \n" " <p>To specify a percent sign in a file name, enter %25. \n" " <p> <b>Example</b>: for <tt>//depot/s/per%25cent.txt</tt>, enter: \n" " <blockquote> \n" " <pre>//depot/s/per%2525cent.txt</pre>\n" " </blockquote>\n" " <h4>Limitations on commands</h4>\n" " For commands issued through the P4 tab or in URLs, the following limitations \n" " apply: \n" " <ul>\n" " <li>In Browse mode, you cannot issue commands that update the workspace (for \n" " example, <tt>p4 sync</tt>).<p></li>\n" " <li>For commands that display forms to edit specifications (for example, <tt>p4 \n" " client</tt>), you must specify the <tt>-o</tt> flag. <b>Result</b>: the \n" " browser displays the specification text. The following p4 commands require \n" " the <tt>-o</tt> flag \n" " <ul>\n" " <li> <tt>branch</tt></li>\n" " <li><tt> change</tt></li>\n" " <li><tt> changelist</tt></li>\n" " <li><tt> client</tt></li>\n" " <li><tt> depot</tt></li>\n" " <li><tt> group</tt></li>\n" " <li><tt> job</tt></li>\n" " <li><tt> jobspec</tt></li>\n" " <li><tt> label</tt></li>\n" " <li><tt> user</tt></li>\n" " <li><tt> workspace</tt><p></li>\n" " </ul>\n" " </li>\n" " \n" " <li>You cannot specify p4 flags in URL commands, only command-specific flags. \n" " For details about command flags, refer to the <i>Perforce Command Reference</i>. \n" " The following p4 flags are invalid in URL commands: \n" " <ul>\n" " <li><tt>-C <i>charset</i></tt></li>\n" " <li><tt> -c <i>client</i></tt></li>\n" " <li><tt> -d <i>dir</i></tt></li>\n" " <li><tt> -G</tt></li>\n" " <li><tt> -h</tt></li>\n" " <li><tt> -H <i>host</i></tt></li>\n" " <li><tt> -L <i>language</i></tt></li>\n" " <li><tt> -P <i>password</i></tt></li>\n" " <li><tt> -p <i>port</i></tt></li>\n" " <li><tt> -s</tt></li>\n" " <li><tt> -u <i>user</i></tt></li>\n" " <li><tt> -V</tt></li>\n" " <li><tt> -x <i>file</i></tt></li>\n" " </ul>\n" " </li>\n" " </ul>\n" ; const char *controlpanelHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Using The Control Panel</FONT></B><BR>\n" "\n" "<FORM>\n" "\n" " <P> The P4Web control panel, visible at the top of every P4Web page, offers \n" " <a href=\"controlpanel?ac=21#shortcuts\">shortcut buttons</a> and the <a href=\"controlpanel?ac=21#menus\">Action \n" " menu</a>. It also shows your Perforce <a href=\"controlpanel?ac=21#config\">configuration \n" " information</a>, and in some cases, <a href=\"controlpanel?ac=21#recentactivity\">recent \n" " depot activity</a>. Some of the shortcuts buttons and menu choices are available \n" " only if you\'re using P4Web in <a href=\"helper?ac=21\">Standard mode</a> and \n" " are not displayed in <A HREF=\"browseonly?ac=21\">Viewer mode</A>. \n" " <h4>\n" "<a name=shortcuts>\n" "Shortcut buttons\n" "</a>\n" "</h4>\n" "Depending on the P4Web page you\'re on, you\'ll see a selection of shortcut buttons.These \n" " buttons provide links to many of the operations that are also available in the \n" " drop-down menus. In most browsers, you can mouse over the buttons to see brief \n" " descriptions of what they do: \n" " <p>\n" "<table width=100%><tr><td valign=top>\n" "<font size=-1>\n" "<br><img src=\"/gotreeIcon?ac=20\">Display the Tree view of the depot or workspace\n" "<br><img src=\"/runsyncIcon?ac=20\">Sync to head revisions\n" "<br><img src=\"/runeditIcon?ac=20\">Open for edit\n" "<br><img src=\"/rundeleteIcon?ac=20\">Open for delete\n" "<br><img src=\"/rundiffIcon?ac=20\">Diff workspace file\n" "</font>\n" "</td><td valign=top>\n" "<font size=-1>\n" "<br><img src=\"/launcheditIcon?ac=20\">Open file in associated editor\n" "<br><img src=\"/showtextIcon?ac=20\">Show file text\n" "<br><img src=\"/showfilelogIcon?ac=20\">Show revision history\n" "<br><img src=\"/runsubmitIcon?ac=20\">Submit default changelist\n" "<br><img src=\"/runrevertIcon?ac=20\">Revert opened files if unchanged\n" "</font>\n" "</td><td valign=top>\n" "<font size=-1>\n" "\n" "<br><img src=\"/cancelIcon?ac=20\">Cancel the last Perforce command\n" "<br><img src=\"/recentactivityIcon?ac=20\">Show/hide recent activity\n" "<br><img src=\"/infoIcon?ac=20\">Show P4Web, Server, and Perforce information\n" "</font>\n" "</td>\n" "</tr>\n" "</table>\n" "\n" "\n" " <h4> <a name=menus> The Action menu </a> </h4>\n" " <p> There is a pulldown Action menu at the top of every page that allows you \n" " to act on the objects on that page. Depending on your browser, you either \n" " simply select the option or select the option and click <B>Go</B>. \n" " <p>\n" "\n" "\n" "<H4>\n" "<a name=config>\n" "Configuration settings\n" "</a>\n" "</H4>\n" "<P>\n" "The banner at the top of the P4Web control panel shows the\n" "P4Web page you\'re on, and your current Perforce\n" "<A HREF=\"defs?ac=21#port\">port</A>,\n" "<A HREF=\"defs?ac=21#user\">user</A>, and\n" "<A HREF=\"defs?ac=21#client\">client</A> configuration settings.\n" "You can change the current client workspace setting by clicking the\n" "<b>Settings</b> tab.\n" " <p> This banner also shows your current path in the <b>Path</b> field, which \n" " is important in P4Web, because you are often given the option of viewing items \n" " that only affect your current path. \n" " <ul>\n" "<li>While viewing a file, click <b>Go</b> to view the Revision History of that file.\n" "<li>While viewing a folder, click <b>Go</b> to go to the Tree view of that folder.\n" "</ul>\n" "To navigate to another file or folder, type the path in the <b>Path</b> field \n" " and click <b>Go</b>. If the path is a folder, the path must have a trailing \n" " path delimiter. If the path does not have a trailing path delimiter, P4Web assumes \n" " that the path is a file. \n" " <h4>\n" "<a name=recentactivity>\n" "Recent activity\n" "</a>\n" "</h4>\n" "<p>\n" "The control panel can be set to\n" "show the five most recent changes to the current file or path.\n" "Use either the \"Show/Hide recent activity\"\n" "<a href=\"controlpanel?ac=21#shortcuts\">shortcut button</a> to set this preference.\n" "If you are working with a large depot, please see\n" "see <a href=\"tips?ac=21#serverimpact\">Reducing P4Web\'s impact on the Perforce Server</a>.\n" "\n" "</FORM>\n" "\n" "\n" "\n" "\n" ; const char *defsHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Glossary</FONT></B><BR>\n" "\n" "\n" "<TABLE BORDER=1 CELLPADDING=5>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=hash>#</A></B></TD>\n" " <TD> Used in Perforce file patterns to indicate an absolute revision number. \n" " </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=asterisk>*</A></B></TD>\n" " <TD> A wildcard used in Perforce file patterns to match files at the current \n" " path level. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=dotdotdot>...</A></B></TD>\n" " <TD> A wildcard used in Perforce file patterns to match files at the current \n" " path level and all levels below it. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=at>@</A></B></TD>\n" " <TD> Used in Perforce file patterns to indicate a symbolic revision identifier. \n" " </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=absolute>absolute revision</A></B></TD>\n" " <TD> A revision number that identifies the ordinal version of a file. For \n" " example, <code>foo.html#17</code> is the 17th version of <code>foo.html</code>. \n" " </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=branch>branch</A></B></TD>\n" " <TD> To create new files with the <a href=\"integrate?ac=21\">integrate</a> command. \n" " </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=branchspec>branch spec</A></B></TD>\n" " <TD> A stored branch view. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=branchview>branch view</A></B></TD>\n" " <TD> A mapping between two depot files or paths that defines their branching \n" " relationship. Branch views control how the <a href=\"integrate?ac=21\">integrate</a> \n" " command behaves when it is used to create new files, or to propagate changes \n" " between files. (Sometimes also called a \"branch spec.\" See above.) </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=changelist>changelist</A></B></TD>\n" " <TD> A record of a set of files changed at the same time. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=client>client</A></B></TD>\n" " <TD> The Perforce database entity that tracks your workspace and the files \n" " synced to it. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=clientspec>client spec</A></B></TD>\n" " <TD> The specification of your workspace location, the depot files you plan \n" " on working with, and where they will appear in your workspace. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=clientview>client view</A></B></TD>\n" " <TD> The subset of depot files you plan on working with in your client workspace. \n" " </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=clientworkspace>client workspace</A></B></TD>\n" " <TD> The area on your local filesystem where you work on files managed by \n" " Perforce. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=depot>depot</A></B></TD>\n" " <TD> A location in the master repository of files stored by the Perforce server. \n" " </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=filepattern>file pattern</A></B></TD>\n" " <TD> The Perforce syntax for specifying a file or set files. May include wildcards \n" " and/or revision specifiers. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=filelog>filelog</A></B></TD>\n" " <TD> The complete history of a file. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=headrevision>head revision</A></B></TD>\n" " <TD> The latest or \"tip\" revision of a file. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=job>job</A></B></TD>\n" " <TD> A Perforce database object that can be used to track defects, enhancements, \n" " or other intended work. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=label>label</A></B></TD>\n" " <TD> Provides a means for marking a particular set of file revisions for later \n" " access. At any subsequent time, the label can be used to copy old file revisions \n" " into a client workspace. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=labelspec>label spec</A></B></TD>\n" " <TD> The specification that defines a label name and a label view. The label \n" " spec creates the structure to build the label. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=labelview>label view</A></B></TD>\n" " <TD> The <i>label view</i> determines the depot files or paths that can be \n" " associated with a particular label. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=labelsync>labelsync</A></B></TD>\n" " <TD> Performing a <i>labelsync</i> populates a label with files. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=metadata>metadata</A></B></TD>\n" " <TD> The data in a Perforce system that describes workspaces, file histories, \n" " users, changelists, etc. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=openedfiles>opened files</A></B></TD>\n" " <TD> The files you are changing (editing, adding, deleting, etc.) in your \n" " workspace. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=path>path</A></B></TD>\n" " <TD> A directory or folder. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=pendingchangelist>pending changelist</A></B></TD>\n" " <TD> A list of some or all of files open in your workspace. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=port>port</A></B></TD>\n" " <TD> The hostname and listen address that identifies the Perforce server (for \n" " example, <tt>public.perforce.com:1666</tt>). </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=reviewdaemon>review daemon</A></B></TD>\n" " <TD> An optional program that the Perforce administrator can install to email \n" " users when changelists are submitted by other users. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=helper>standard</A></B> (as in \"<a href=\"helper?ac=21\">Standard \n" " mode</a>\") </TD>\n" " <TD> An instance of P4Web that can be used for workspace operations such as \n" " opening files and submitting changlists (as opposed to viewer mode). See \n" " <A NAME=browseonly HREF=\"index?ac=21\">Administering P4Web</a> for details.</TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=submit>submit</A></B></TD>\n" " <TD> The command that sends a pending changelist and contents of changed files \n" " to the depot. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=submittedchangelist>submitted changelist</A></B></TD>\n" " <TD> A permanent record that is created when a pending changelist is submitted. \n" " </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=symbolic>symbolic revision</A></B></TD>\n" " <TD> A revision symbol that identifies a file at a particular revision associated \n" " the state of the depot. For example: \n" " <UL>\n" " <P> \n" " <LI><code>foo.html@1234</code> is the latest revision of <code>foo.html</code> \n" " at the moment changelist 1234 was submitted, regardless of whether <code>foo.html</code> \n" " was part of changelist 1234. \n" " <P> \n" " <LI><code>foo.html@2000/06/06</code> is the latest revision of <code>foo.html</code> \n" " as of 00:00:00 hours, 06 June 2000. \n" " <P> \n" " <LI><code>foo.html@topaz</code> is the revision of <code>foo.html</code> \n" " currently in either the \"topaz\" client workspace or in the \"topaz\" label. \n" " (Because labels and clients can\'t have the same names, this situation \n" " is not ambigous.) \n" " </UL>\n" " </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=sync>sync</A></B></TD>\n" " <TD> The command that copies files from the depot to your workspace. (Short \n" " for \"synchronize.\") </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=user>user</A></B></TD>\n" " <TD> The unique identifier of a Perforce user. (Usually the same as your login \n" " name.) </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=userspec>user spec</A></B></TD>\n" " <TD> The specification describing various information associated with you \n" " as a Perforce user, such as your full name and your email address. </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B>viewer</B> (as in <A NAME=browseonly HREF=\"browseonly?ac=21\">Viewer \n" " mode</A>)</TD>\n" " <TD> An instance of P4Web that can be used only for browsing, and cannot perform \n" " workspace operations.</TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=wildcard>wildcard</A></B></TD>\n" " <TD>Perforce uses three wildcards for pattern matching: \"<b> * </b>\", \" <b>...</b> \n" " \", and \"%d\". Any number and combination of these can be used in a single \n" " string: \n" " <ul>\n" " <li><b>*</b> matches anything except slashes; matches only within a single \n" " directory. </li>\n" " <li><b>...</b> matches anything including slashes; matches across multiple \n" " directories. </li>\n" " <li><b>%d</b> is used for parametric substitution in views. Matches strings \n" " similarly to the <b>*</b> wildcard, but can be used to rearrange the \n" " order of the matched substrings. </li>\n" " </ul>\n" " </TD>\n" " </TR>\n" " <TR> \n" " <TD align=left valign=top><B><A NAME=workspace>workspace</A></B></TD>\n" " <TD> The area on your local filesystem where you work on files managed by \n" " Perforce. (Also called a \"client workspace.\") </TD>\n" " </TR>\n" "</TABLE>\n" ; const char *deleteHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Opening Files for Delete</FONT></B><BR>\n" "\n" "<p>\n" "To delete files in a Perforce depot,\n" "sync them to your workspace, run <b>open for delete</b>\n" "on them, then submit your changelist.\n" "\n" "<p>\n" "The <b>open for delete</b> command removes files from\n" "your workspace.\n" "It doesn\'t affect depot files until you\n" "submit your changelist.\n" "The \"<img src=\"/deleteIcon?ac=20\">\" icon reminds you when you have\n" "files open for delete.\n" "(See also\n" "<a href=\"remove?ac=21\">Removing Workspace Files</a>\n" "if you simply want to remove your workspace files\n" "without deleting them in the depot.)\n" "\n" "<p>\n" "You can open files for delete by:\n" "\n" "<ul>\n" " <li>Choosing <b>Open for delete...</b> from the <b>Action</b> menu. \n" " <p>\n" " <li>Clicking the \"Open for delete\" shortcut button with a directory selected, \n" " which opens all the files at or below the current path level immediately, \n" " putting them in the default changelist and removing them from your workspace. \n" " <p>\n" " <li>Clicking the \"Open for delete\" shortcut button when you have a file selected, \n" " which opens the current file immediately, putting it in the default changelist \n" " and removing it from your workspace. \n" "</ul>\n" "\n" "<p>\n" "<h3>The Delete Options Page</h3>\n" "\n" "<p>\n" "Selecting <b>Open for delete...</b> takes you to the initial Open for Delete page, where you\n" "select the options you want and click the \"Open for delete\" button to\n" "open files for delete. You can chose from these options:\n" "\n" "<blockquote>\n" "\n" "<dl>\n" "\n" "<p><dt><b>Put opened files in changelist</b></dt>\n" "<dd>\n" "If your client workspace has more than one pending changelist,\n" "this option is available to let you\n" "select the changelist into which opened files appear.\n" "</dd>\n" "\n" "<p><dt><a href=\"restrictfiles?ac=21\">Restricting files</a></dt>\n" "<dd>\n" "If you came to this page by clicking a directory and then selecting <B>Open for Delete...</B>\n" "you can restrict the files affected by the\n" "<b>Open for delete</b> command.\n" "\n" " <p> Regardless of which files you select, a file is opened for delete only \n" " if: \n" " <p>\n" "<ul>\n" "<li>The file is not already opened in your workspace\n" "<li>The file is synced in your workspace\n" "<li>You have permission to open the file\n" "</ul>\n" "</dd>\n" "\n" "</dl>\n" "\n" "\n" "</blockquote>\n" "\n" ; const char *deletespecHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Deleting a Spec</FONT></B><BR>\n" "\n" "<P>\n" "You can use P4Web to delete <A HREF=\"label?ac=21\">label specs</A>, <A HREF=\"branch?ac=21\">branch specs</A>, and <A HREF=\n" "\"job?ac=21\">job specs</A>.\n" "\n" "<P>\n" "<FONT COLOR=red>\n" "<b>NOTE:</b> Deleting a spec is permanent.\n" "</font>\n" "<P> To delete any spec:\n" "<p>\n" "<ol type=1>\n" "<li>From the Labels, Branchs, or Jobs tabs, click on the name of the spec that you want to delete.\n" "<p>\n" " <li>Select <b>Delete <i>spec</i></b> from the <b>Action</b> menu, where <i>spec</i> \n" " is the type of spec that you are deleting: label, branch, or job. \n" " <p>\n" "<li>A confirmation page is displayed.\n" "<ul>\n" " <li>To delete the spec, click <b>Yes</b>. \n" " <li>To return to the spec without deleting it, click <b>No</b>. \n" " </ul>\n" "</ol>\n" "\n" "\n" ; const char *describeHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Viewing A Changelist Description</FONT></B><BR>\n" "\n" "<P> Clicking on a <a href=\"defs?ac=21#submittedchangelist\">submitted changelist</a> \n" " number displays the <b>Changelist Description</b> page, showing: \n" "<UL>\n" "<LI>the date on which a changelist was submitted, \n" "<LI>the Perforce client in which it was submitted,\n" "<LI>the user who submitted the change,\n" "<LI>the description of the change, and\n" "<LI>a list of affected files.\n" "</UL>\n" "<P> Clicking any of the file links displays the file\'s revision history. \n" ; const char *diffingHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Diffing Files and Folders</FONT></B><BR>\n" "<p>P4Web enables you to compare (<i>diff</i>) file revisions or folders to display changes. </p>\n" "<p>You can diff file revisions as follows:</p>\n" "<ul>\n" " <li> To compare two adjacent file revisions (for example, revisions #3 and #4), \n" " display the file\'s revision history and click <img src=\"/rundiffIcon?ac=20\">.</li>\n" " <p> \n" " <li>To display all changes made to a file after you opened it for edit, including \n" " changes submitted by other users, choose <b><strong>Actions>Diff \n" " Head Rev vs. Workspace File</strong>. \n" " </b></li>\n" " <p> \n" " <li>To display the differences between any two comparable files in the depot, \n" " choose <strong>Actions>Diff Two Depot Files..</strong><b>.</b> and specify the desired files</li>\n" "</ul>\n" "\n" "<p>\n" "To diff folders, choose <strong>Actions >Diff Two Folders...</strong> and specify the paths that you want to compare. \n" "<p>\n" "<hr>\n" "\n" "<h3>Configuring Diff Display</h3>\n" "<p> To configure default settings for the browser session, click <b>Settings</b> \n" " or, if you are viewing a diff, click <b>Diff settings,</b> and choose the desired \n" " option.You can configure diff options as follows:</p>\n" "<b>Diff formats</b> \n" "<ul>\n" " <li>Two pane (full file): displays the entire contents of both files side by \n" " side, with diffs highlighted.</li>\n" " <li>Two pane (context diffs): displays diffs side by side, preceded and followed \n" " by the specified number of context (unchanged) lines, to enable you to see \n" " the differences in the context of the surrounding text.</li>\n" " <li>Diffs only: displays diffs in line, using a UNIX-style format.</li>\n" " <li>RCS: displays diffs using a format based on Revision Control System (RCS).</li>\n" " <li>Unified format: displays single diff chunks with flags indicating changes.</li>\n" " <li>Summary: displays the number of lines added, deleted, and changed.</li>\n" "</ul>\n" "<p><b>Two-pane line wrapping</b>: specifies how lines are wrapped when diffs are \n" " displayed side by side.</p>\n" "<p><b>Diffs shown</b>: specifies how white space diffs are handled</p>\n" "<p><b>Diffs used for resolving files</b>: specifies which diffs are significant \n" " when resolving files.</p>\n" "<hr>\n" "\n" "<h3>Notes</h3>\n" "<p><b>Configuring diff utilities</b>: By default, P4Web uses Perforce\'s diff utilities. \n" " However, if P4Web and your browser are running on the same computer, you can \n" " configure another diff utility by setting the P4DIFF environment variable. To \n" " specify the path and executable of the desired program. To specify arguments \n" " for the external diff program, use the <tt>-d</tt> flag.</p>\n" "<p><b>Diffing large files</b>: if you diff a file that exceed 10% of the P4Web \n" " <b>Page content limit</b> setting, P4Web displays the diffs using Context mode, \n" " and advises you how much to increase the setting if you want to use full file \n" " mode to diff the file.</p>\n" ; const char *editHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Opening Files for Edit</FONT></B><BR>\n" "<P> A file can be opened for edit if: \n" "<p> \n" "<ul>\n" " <li>The file is synced in your workspace \n" " <li>You have permission to open the file \n" " <li>The file is not already opened in your workspace \n" "</ul>\n" "<P>When Perforce puts files in your workspace, it normally gives them read-only \n" " permission to start with. (See the <a href=\"sync?ac=21\">sync</a> command to find \n" " out how to get files into your workspace.) The <b>open for edit</b> command \n" " makes files writable so you can edit them, and puts them in a pending changelist \n" " so you can submit them later. The <img src=\"/editIcon?ac=20\"> icon indicates that \n" " you have files open for edit. \n" "<p>\n" "You can open files for edit by:\n" "\n" "<ul>\n" " <li>Choosing <b>Open for edit...</b> from the pulldown menu on the Files tab. \n" " This menu option displays the <b>Open for Edit Options</b> page, described \n" " in more detail below. \n" " <p>\n" " <li>Selecting the file and clicking the <b>Open for edit</b> button, which opens \n" " the selected file for edit in the default changelist without changing its \n" " filetype. \n" "</ul>\n" "\n" "<p>\n" "<h3>The Open for Edit Options page</h3>\n" "\n" "<p> Selecting <b>Open for edit...</b> from the pulldown menu displays the <b>Open \n" " for Edit</b> page, where you can select the following file options. \n" "<ul>\n" " <li><b>Put opened files in changelist: </b>If your client workspace has more \n" " than one pending changelist, this option enables you to select the changelist \n" " into which opened files appear. </li>\n" " <P> \n" " <li><b>Specify filetype: </b>Use this option to change the <a href=\"help_filetypes?ac=21\">filetype</a> \n" " of Perforce-managed files. Click the checkbox and select the filetype and \n" " filetype modifier(s). When you submit files opened this way, the new revisions \n" " in the depot will have the new filetype. </li>\n" " <p> \n" " <li><b>Restricting files</b>: If you came to this page by clicking a directory \n" " and then choosing <B>Open for edit...</B> you can <a href=\"restrictfiles?ac=21\">restrict</a> \n" " the files to be opened. </li>\n" " </ul>\n" " \n" "<p> After you have selected your options, click <b>Open for edit</b>. \n" "<h3><a name=\"remote\"></a>Editing files when P4Web is running on a remote machine</h3>\n" "<p>P4Web mediates between a Web browser and a Perforce server. \n" " P4Web can run on a machine that is separate (remote) from both the browswer \n" " and server machines. The important thing to understand is that <b>your client \n" " workspace resides on the machine where P4Web is running</b>. To edit files, \n" " remote users (users who are browsing from a machine other than the one where \n" " P4Web is running) must download the files to their local machine after checkout. \n" " To check the edited files in, remote users must upload them to the P4Web machine \n" " before. To edit files when working remotely, perform the following steps:</p>\n" "<ol>\n" " <li><a href=\"sync?ac=21\"><b>Sync</b></a> the file.</li>\n" " <li><b>Open the file for edit</b> as described above.</li>\n" " <li><b>Download the file</b> from the workspace on the P4Web \n" " machine to your local machine: choose <strong>Download file from Workspace</strong> from the <strong>Action</strong> menu.<br>\n" " Because you\'re \n" " working locally on a copy of the file from the workspace, it doesn\'t matter \n" " where you save it on your local machine. When you upload it in step 5 below, \n" " you replace the workspace version with your edited version.</li>\n" " <li><b>Edit the file</b>.</li>\n" " <li><b>Upload the file</b>: Choose <b>Upload File to Workspace</b> \n" " from the <b>Action</b> menu, specify the file to be uploaded, and click <b>Upload</b>.</li>\n" " <li><b><a href=\"submit?ac=21\">Submit</a> the file</b>.</li>\n" "</ol>\n" "<p>If you\'re editing text files, you can edit them directly in \n" " the browser, instead of downloading them and opening them with a text editor. \n" " To edit a text file in the browser, choose <b>Edit Workspace File in P4Web</b> \n" " from the <b>Action</b> menu. Edit the file and choose <b>Save</b> to save your \n" " changes. </p>\n" ; const char *editbranchHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Creating and Editing Branch Specs</FONT></B><BR>\n" "<P>\n" "\n" "<P> <b>To create a new branch spec:</b> \n" "<P>\n" "<ol type=1>\n" "<li>Select the <b>Branches</b> tab.\n" "<li>Click the <b>Create branch spec</b> link at the top of the page.\n" "<li>Edit the fields as described <a href=\"editbranch?ac=21#branchdesc\">below</a>.\n" "<li>When you are finished, click the <b>Save</b> button.\n" "</ol>\n" "<P> <b>To edit a branch spec:</b> \n" "<p>\n" "<ol type=1>\n" "<li>Select the <b>Branches</b> tab.\n" "<li>Click on the name of the branch that you want to edit.\n" " <li>Select <b>Edit branch spec...</b> from the <b>Action</b> menu. \n" " <li>Edit the branch spec as desired, using the field descriptions <a href=\"editbranch?ac=21#branchdesc\">below</a>.\n" "<li>When you have finished editing the branch spec, click the <b>Save</b> button.\n" "</ol>\n" "<P><A NAME=branchdesc><B>Branch spec field descriptions</B></A> <br>\n" " The branch spec consists of the following fields: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td width=\"12%\"><b>Field</b></td>\n" " <td width=\"88%\"><b>Description</b></td>\n" " </tr>\n" " <tr> \n" " <td width=\"12%\"><b>Branch</b></td>\n" " <td width=\"88%\">The unique name of this branch spec. This cannot be edited. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td width=\"12%\"><b>Update</b></td>\n" " <td width=\"88%\">Date that this branch spec was last changed. This field cannot \n" " be edited</td>\n" " </tr>\n" " <tr> \n" " <td width=\"12%\"><b>Access</b></td>\n" " <td width=\"88%\">Shows when this branch spec was last accessed. This field \n" " cannot be edited. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"12%\"><b>Owner</b></td>\n" " <td width=\"88%\">The user who owns this branch spec. By default, this is the \n" " user who created the branch. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"12%\"><b>Description</b></td>\n" " <td width=\"88%\">Optional information that can be used to describe this branch \n" " spec\'s purpose. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"12%\"><b>Options</b></td>\n" " <td width=\"88%\">\n" " <ul>\n" " <li><b>Only allow owner to change branch spec <i>(locked)</i></b> <br>\n" " Can either be locked or unlocked. If the checkbox is selected, the branch \n" " spec is locked, and only the owner (as specified in the <b>Owner</b> \n" " field) can modify the branch spec. The branch spec cannot be deleted \n" " until it is unlocked. \n" " <li><b>Use indirect integration history to find base <i>(indirect)</i> \n" " </b> <br>\n" " Usually, you cannot integrate changes if there is no prior history between \n" " the source and target (since there is no way to identify the base for \n" " the merges). Selecting this option searches for indirect history through \n" " intermediate files. If there is still no history, the last revision \n" " of source file that was opened for add is used as the base (this is \n" " almost always the first revision of source file). \n" " </ul>\n" " </td>\n" " </tr>\n" " <tr> \n" " <td width=\"12%\"><b>View</b></td>\n" " <td width=\"88%\">A set of mappings from one set of files in the depot (the \n" " source files) to another set of files in the depot (the target files). The \n" " view maps from one location in the depot to another. \n" " <p> For example, the branch view: \n" " <p> \n" " <table border=1 cellpadding=5 width=300>\n" " <tr> \n" " <td><kbd>//depot/main/... //depot/r2.1/...</kbd></td>\n" " </tr>\n" " </table>\n" " <p> maps all the files under <tt>//depot/main</tt> to <tt>//depot/r2.1 </tt>\n" " </td>\n" " </tr>\n" "</table>\n" ; const char *editclientHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Editing Client Specs</FONT></B><BR>\n" "<p>\n" "Your Perforce <i>client spec</i> defines your workspace location, the depot files you plan to work with, and where they will be located\n" "in your workspace when you invoke Perforce commands.\n" "<p>\n" "\n" "\n" "\n" "\n" "<p> <b>To edit a client spec:</b> \n" "<p>\n" "<ol>\n" "<li>To edit a client spec, it must be set as your current client workspace (check at the top of your screen under <b>Client</b>).\n" "<li>To change your current client workspace:\n" "<ul>\n" "<li>Click the <b>Settings</b> tab, enter the name of the client spec that you want to change to, and click <b>Save</b>, or\n" "<li>Click the <b>Clients</b> tab, click on the client name that you want to change to, and select the <b>Switch to client</b> link at the\n" "bottom of the page.\n" "</ul>\n" "<li> Click the <b>Edit current client</b> link at the top of the page to modify the current client spec.\n" "<li>If you are a new Perforce user just starting out, the only client spec\n" "fields that you have to edit are <b>Root</b> and <b>View</b>,\n" "as described below.\n" "<li>After you have edited these fields, click <b>Save</b>.\n" "</ol>\n" "As you learn more about what you can do with your client spec, you can edit it \n" "again and select different options. \n" "<p> <B>Client spec field descriptions</B> <br>\n" " A client spec contains the following fields: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td width=\"19%\"><b>Field</b></td>\n" " <td width=\"81%\"><b>Description</b></td>\n" " </tr>\n" " <tr> \n" " <td width=\"19%\"><b>Client</b></td>\n" " <td width=\"81%\">The unique name of your current client workspace (this cannot \n" " be changed). </td>\n" " </tr>\n" " <tr> \n" " <td width=\"19%\"><b>Update</b></td>\n" " <td width=\"81%\">Shows when your client spec was last changed. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"19%\"><b>Access</b></td>\n" " <td width=\"81%\">Shows when your workspace was last used. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"19%\"><b>Owner</b></td>\n" " <td width=\"81%\">The user who \"owns\" the workspace and the client spec. (Unless \n" " the client spec is locked, ownership has no particular privilege.) </td>\n" " </tr>\n" " <tr> \n" " <td width=\"19%\"><b>Host</b></td>\n" " <td width=\"81%\">The name of the workstation or computer on which your workspace \n" " is located. P4Web uses this value to prevent you from accidentally using \n" " your workspace from the wrong machine. If your workspace is on a shared \n" " filesystem, and you want to use it from more than one machine, leave the \n" " host value blank. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"19%\"><b>Description</b></td>\n" " <td width=\"81%\">Optional information that can be used to described what this \n" " client workspace is used for. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"19%\"><b>Root</b></td>\n" " <td width=\"81%\">The location of the the root of your workspace on the local \n" " filesystem. You should set this once, when you are first creating your client \n" " spec. Use the directory naming syntax recognized by your machine (for example, \n" " \"C:\WS\" on Windows, or \"/usr/team/bill/ws\" on Unix). \n" " <p> If you ever want to change your workspace root, you should first <a href=\"submit?ac=21\">submit</a> \n" " your opened files, then <a href=\"remove?ac=21\">remove</a> all Perforce-managed \n" " files from your workspace, and <i>then</i> use the Edit Client page to \n" " change the root. After saving the new client spec, <a href=\"sync?ac=21\">sync</a> \n" " your workspace and files will be written to the new location. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td width=\"19%\"><b>Altroots</b></td>\n" " <td width=\"81%\">You can enter up to two optional alternate client workspace \n" " roots. The first of any of these roots (main or alternate) that matches \n" " P4Web\'s current working directory is used; if none matches, the main root \n" " is used. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"19%\"><b>Options</b></td>\n" " <td width=\"81%\">Controls some optional characteristics of how Perforce operates \n" " in this client workspaces. See <a href=\"editclient?ac=21#options\"> Client \n" " Workspace Options</a>, below. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"19%\"><b>LineEnd</b></td>\n" " <td width=\"81%\">Controls how line endings in text files are translated when \n" " files are transmitted between the depot and your workspace. See <a href=\"editclient?ac=21#linend\">Translating \n" " Line-end Characters</a>, below. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"19%\"><b>View</b></td>\n" " <td width=\"81%\">Describes how depot files will be \"mapped\" into your workspace. \n" " For example, if your client workspace name is \"PatWS\" and its root is \"C:\WS\", \n" " this view: \n" " <pre> //depot/projects/saturn/... //PatWS/SAT/...</pre>\n" " will map all the files the //depot/projects/saturn path to a matching directory \n" " hierarchy under \"C:\WS\SAT\". \n" " <p> If you\'re creating your first workspace, you can leave the default values \n" " provided in the View field. Be aware, however, that if your Perforce server \n" " manages very large depots, the default view can cause your workspace commands \n" " to run slowly. For better performance, define a view that maps to only \n" " the depot paths you are interested in working with. \n" " <p> See the <i>P4 User\'s Guide</i> for more details on client view mapping. \n" " </td>\n" " </tr>\n" "</table>\n" "\n" "\n" "<p>\n" "<a name=\"options\"></a>\n" "<h4>Client workspace options</h4>\n" "\n" "<p> These optional behaviors can be defined for your client workspace: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td><b>Option</b></td>\n" " <td><b>Description</b></td>\n" " </tr>\n" " <tr> \n" " <td><b>Unopened files writable on client: <i>(<kbd>allwrite</kbd>)</i></b> \n" " </td>\n" " <td>Will all files be writable in the workspace, or only files that have been \n" " opened for edit? The default value is (<kbd>allwrite</kbd>), so that only \n" " files you\'ve opened will be writable. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Data compression between client/server: <i> <kbd>(compress)</kbd></i></b> \n" " </td>\n" " <td>Will data sent between your client workspace and the Perforce server be \n" " compressed? The default value is off. Over a LAN or high-bandwidth connection, \n" " there\'s little benefit to compressing this data, but if you\'re operating \n" " over a slow link, turning this option on will help. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Mod time set to depot submission time: <i> <kbd>(modtime)</kbd></i></b> \n" " </td>\n" " <td> \n" " <p>What should the modification time on files in your workspace be set to \n" " when copied in by the <b>sync</b> command? \n" " <p> By default, the modification time of unopened files on your workspace \n" " files shows when they were synced. Choosing this option will cause <b>sync</b> \n" " to set each file\'s modification time to the timestamp associated with \n" " it when it was submitted to the depot. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td><b>Client spec write-protected: <i><kbd>(locked)</kbd></i></b> </td>\n" " <td> \n" " <p> Lock the client spec? \n" " <p> The default value is off (unlocked). Anyone can use the workspace or \n" " edit the client spec. If you turn this on, only the user shown in the \n" " <b>Owner</b> field will be able to use the workspace or edit the specification. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td><b>Sync deletes empty client directories: <kbd><i>(rmdir)</i></kbd></b> \n" " </td>\n" " <td> \n" " <p>Should a <b>sync</b> command that deletes all files in a directory also \n" " delete the directory? \n" " <p> The default value is off. A <b>sync</b> command that removes all files \n" " in a directory will leave empty directories. If you turn this option on, \n" " empty directories will be removed. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td><b>Sync overwrites writable unopened files: <i><kbd>(clobber)</kbd></i></b> \n" " </td>\n" " <td> \n" " <p>Should the <b>sync</b> command overwrite any writable, unopened files? \n" " <p> The default value is off. If you turn this option on, any writable, \n" " unopened files in your workspace can be overwritten when you run <b>sync</b>. \n" " This includes files made writable either either from using the <kbd>allwrite</kbd> \n" " option described above, or by manually changing permissions from within \n" " your local operating system. \n" " </td>\n" " </tr>\n" "</table>\n" "\n" "<a name=\"linend\"></a>\n" "<h4>Translating line-end characters</h4>\n" "\n" "<p>\n" "Text files contain special characters that indicate where line endings occur.\n" "Different operating systems use different characters (usually\n" "<small><b>CR</b></small> and/or <small><b>LF</b></small>).\n" "When Perforce copies files from the depot into your workspace, it translates\n" "line endings as appropriate for your workspace machine. When it sends file\n" "content from your workspace to the depot, it translates them back.\n" "<p>\n" "The \"LineEnd\" field in the client spec lets you control the line-end\n" "characters Perforce uses when it reads and writes text files\n" "in your workspace.\n" "Choices are:\n" "\n" "<table width=80%>\n" "<tr>\n" "<td valign=top >\n" "<b>local</b>\n" "</td>\n" "<td>\n" "Use whatever line endings the local operating system uses.\n" "This is the default, and the preferred setting for client\n" "workspaces that are not shared.\n" "</td>\n" "</tr>\n" "<tr>\n" "<td valign=top >\n" "<b>unix</b>\n" "</td>\n" "<td>\n" "Use UNIX-style line endings,\n" "<small><b>LF</b></small>.\n" "</td>\n" "</tr>\n" "<tr>\n" "<td valign=top >\n" "<b>mac</b>\n" "</td>\n" "<td>\n" "Use Macintosh-style line endings,\n" "<small><b>CR</b></small>.\n" "</td>\n" "</tr>\n" "<tr>\n" "<td valign=top >\n" "<b>win</b>\n" "</td>\n" "<td>\n" "Use Windows-style line-endings,\n" "<small><b>CRLF</b></small>.\n" "</td>\n" "</tr>\n" "<tr>\n" "<td valign=top >\n" "<b>share</b>\n" "</td>\n" "<td>\n" "Write files using UNIX-style line endings,\n" "but read files with either UNIX- or Windows-style line endings.\n" "</td>\n" "</tr>\n" "</table>\n" "\n" "<p>\n" "<b>Note:</b> Changing the \"LineEnd\" setting in your client spec doesn\'t affect the files\n" "Perforce has already put in your workspace.\n" "You must re-<a href=\"sync?ac=21\">sync</a> your files using the \"force\" option to\n" "make Perforce rewrite the files with the new line-end characters.\n" "\n" "\n" ; const char *editjobHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Creating and Editing Jobs</FONT></B><BR>\n" "\n" "<P>\n" "A Perforce <i>job</i> is a essentially a description of a task. For more information about jobs, see <a href=\"job?ac=21\">Working with\n" "Jobs</a>.\n" "\n" "<P>\n" "<b>To create a new job,</b>\n" "<P>\n" "<ol type=1>\n" "<li>Click the <b>Jobs</b> tab.\n" "<li>Click the <b>Create job</b> link at the top of the page.\n" "<li>Edit the fields as desired. Default field descriptions can be found <a href=\"editjob?ac=21#jobdesc\">below</a>.\n" "<li>When you have finished entering the job, click the <b>Save</b> button.\n" "</ol>\n" "\n" "<P>\n" "<b>To edit a job,</b>\n" "<p>\n" "<ol type=1>\n" "<li>Select the <b>Jobs</b> tab.\n" "<li>Click on the name of the job that you want to edit.\n" " <li>Select <b>Edit job...</b> from the <b>Action</b> menu. \n" " <li>Edit the fields as desired. \n" " <li>When you have finished editing the job, click the <b>Save</b> button.\n" "</ol>\n" "<P><A NAME=jobdesc><B>Job field descriptions</B></A>\n" "<p> Job fields are defined by the <a href=\"jobfields?ac=21\">jobspec</a>, which \n" " can be modified for your site\'s specific purposes. The default P4Web job fields \n" " are: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td><b>Field</b></td>\n" " <td><b>Description</b></td>\n" " </tr>\n" " <tr> \n" " <td><b>Job</b></td>\n" " <td>The name of the job. Whitespace is not allowed. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Status</b></td>\n" " <td>The default options are <i>open, closed,</i> or <i>suspended</i>. \n" " <ul>\n" " <li> <i>open</i>: a job that has not yet been completed. </li>\n" " <li> <i>closed</i>: a job that has been completed. </li>\n" " <li> <i>suspended</i>: an open job that is not currently being worked \n" " on. </li>\n" " </ul>\n" " </td>\n" " </tr>\n" " <tr> \n" " <td><b>User</b></td>\n" " <td>This field is automatically populated with the username of the person \n" " who created the job, but you can edit it. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Date</b></td>\n" " <td>The date and time that the job was created. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Description</b></td>\n" " <td>Optional information that can be used to describe this job. Usually a \n" " written description of the problem that is meant to be fixed. It\'s a good \n" " idea to make the first line of a job particularly meaningful, because the \n" " first line can be viewed in the Jobs list and can be used for quick reference. \n" " </td>\n" " </tr>\n" "</table>\n" "\n" "\n" "\n" "\n" "\n" ; const char *editlabelHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Creating and Editing Labels</FONT></B><BR>\n" "\n" "<p>\n" "A <a href=\"defs?ac=21#label\">label</a> provides a means for marking a particular set of file\n" "revisions for later access. The <i>label spec</i> defines the label\'s name and its label view. For\n" "more information about labels, see <a href=\"label?ac=21\">Working with Labels</a>.\n" "<p>\n" "\n" "\n" "<B>Creating a label spec</B>\n" "<br>\n" "There are a couple of ways to create a label spec in P4Web.\n" "<blockquote> <b><A NAME=createbrowser></a>To create a new label spec in P4Web:,</b> \n" " <ol type=1>\n" " <li>Select the <b>Labels</b> tab. \n" " <li>Click on the <B>Create label spec</B> link at the top of the page.\n" "<li>Enter a name for the label spec in the <B>Label</B> field.\n" "<li> Edit the remaining fields as described <a href=\"editlabel?ac=21#labeldesc\">below</a>.\n" "<li> When you are finished, click the <b>Save</b> button.\n" "</ol>\n" "\n" " <b><A NAME=createtemplate>To create a label spec using another label spec as a \n" " template:</a></b> \n" " <P>\n" "<ol type=1>\n" "<li>Select the <bLabels> tab.\n" "<li>Click on the label that you want to use as a template.\n" " <li>Select <b>Use label as template...</b> from the <b>Action</b> menu. \n" " <li>Edit the fields as described <a href=\"editlabel?ac=21#labeldesc\">below</a>.\n" "<li> When you are finished, click the <b>Save</b> button.\n" "</ol>\n" "<p>\n" "</blockquote>\n" "\n" "<B>Editing a label spec</B>\n" "<br>\n" "<blockquote>\n" "<ol type=1>\n" "<li>Select the <b>Labels</b> tab.\n" " <li>Click the label that you want to edit. \n" " <li>Select <B>Edit label spec...</B> from the Action menu. \n" " <li>Edit the label spec as desired, using the field descriptions <a href=\"editlabel?ac=21#labeldesc\">\n" "below</a>.\n" "<li>When you have finished editing the label spec, click the <b>Save</b> button.\n" "</ol>\n" "</blockquote>\n" "\n" "<P><A NAME=labeldesc><B>Label spec field descriptions</B></A> <br>\n" " The label spec consists of the following values: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td><b>Field</b></td>\n" " <td><b>Description</b></td>\n" " </tr>\n" " <tr> \n" " <td><b>Label</b></td>\n" " <td>The unique name of this label. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Update</b></td>\n" " <td>Shows the date when this label spec was last modified. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Access</b></td>\n" " <td>The date and time the label was last accessed. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Owner</b></td>\n" " <td>The label\'s owner. By default, the user who created the label. Only the \n" " owner of a label can <a href=\"labelsync?ac=21\">update its contents</a>. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Description</b></td>\n" " <td>Optional information that can be used to describe this label spec. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Options</b></td>\n" " <td>Can either be <i>locked</i> or <i>unlocked</i>. If the label is locked, \n" " its contents cannot be <a href=\"labelsync?ac=21\">changed</a>. </td>\n" " </tr>\n" " <tr> \n" " <td><b>View</b></td>\n" " <td>A list of depot files that can be included in this label. No files are \n" " actually included until you sync the label. </td>\n" " </tr>\n" "</table>\n" ; const char *editpendingHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Editing a Pending Changelist</FONT></B><BR>\n" "\n" "<p>\n" "The Pending Changelist page\n" "allows you to\n" "create a new <a href=\"pendingchangelists?ac=21\">pending changelist</a>,\n" "edit a pending changelist,\n" "move files between pending changelists,\n" "and <a href=\"submit?ac=21\">submit opened files</a> in a pending changelist.\n" "<p>\n" "Having multiple pending changelists is a way to organize\n" "your opened files into logical groups.\n" "When you submit a pending changelist,\n" "all the files associated with that changelist\n" "are submitted at the same time and a permanent\n" "record is made of the event in the depot.\n" "<P>\n" "To view a pending changelist,\n" "\n" "<UL>\n" "<p>\n" "<LI>Select the <B>Pending</B> tab and then select one of the changelists on that page, or\n" "<table align=right><tr>\n" "<td valign=top><img src=\"/runsubmitIcon?ac=20\" border=1></td>\n" "<td valign=top><font size=-2>\"Submit default<br>changelist\"</font></td>\n" "</tr></table>\n" "<LI>Click the \"Submit default changelist\" shortcut button.\n" "<p>\n" "\n" "</UL>\n" "\n" "<P> The following fields are displayed on the <b>Pending Changelist</b> page: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td><b>Field</b></td>\n" " <td><b>Description</b></td>\n" " </tr>\n" " <tr> \n" " <td><b>Change</b></td>\n" " <td>The changelist number. This is a read-only field. Its value is \"new\" if \n" " you are editing the default changelist. Numbered pending changelists are \n" " assigned a changelist number when you create them. (Note that when you submit \n" " a pending changelist, it may be renumbered. You have no control over the \n" " numbering process.) </td>\n" " </tr>\n" " <tr> \n" " <td><b>Date</b></td>\n" " <td>The current date and time. (Read-only.) </td>\n" " </tr>\n" " <tr> \n" " <td><b>Client</b></td>\n" " <td>Your client name. (Read-only.) </td>\n" " </tr>\n" " <tr> \n" " <td><b>User</b></td>\n" " <td>Your user name. (Read-only.) </td>\n" " </tr>\n" " <tr> \n" " <td><b>Status</b></td>\n" " <td>Numbered pending changelists have a status of \"pending\". The default changelist \n" " has a status of \"new\". (Read-only.) </td>\n" " </tr>\n" " <tr> \n" " <td><b>Description</b></td>\n" " <td>A description of the change you are making to the files being submitted. \n" " This description will be stored permanently in the Perforce depot when you \n" " submit the changelist. You don\'t have to itemize the files in your description; \n" " they are already listed in the \"Files\" field. \n" " <p> When you first edit the changelist, this field will contain the text: \n" " <pre> <enter description here></pre>\n" " You must change this text before you can submit the changelist. </td>\n" " </tr>\n" " <tr> \n" " <td><b>JobStatus</b></td>\n" " <td>New status to assign to <a href=\"defs?ac=21#job\">jobs</a> listed in the \n" " \"Jobs\" field of this changelist. The default is \"closed\". (Optional.) For \n" " more information about job status, click <a href=\"editjob?ac=21#jobdesc\">here</a>. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td><b>Jobs</b></td>\n" " <td> Perforce <a href=\"defs?ac=21#job\">jobs</a> to update when this changelist \n" " is submitted. If you have a \"Jobview\" value set in your <a href=\"edituser?ac=21\">user \n" " spec</a>, jobs matching that jobview will automatically appear in this field. \n" " (Optional.) </td>\n" " </tr>\n" " <tr> \n" " <td><b>Files</b></td>\n" " <td>The files that are opened by you, the current user, and that are associated \n" " with this changelist. (Each open file in your workspace is associated with \n" " only one user and one pending changelist.) The checkboxes indicate which \n" " of the files will be used for the action button you choose, described below. \n" " </td>\n" " </tr>\n" "</table>\n" "\n" "\n" "\n" " \n" "<P> The Pending Changelists page offers you several actions to take. The files \n" " used in the action will be those <i>checked</i> in the file list shown on the \n" " page. At the end of the page you\'ll see buttons that can execute those actions: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td><b>Action</b></td>\n" " <td><b>Description</b></td>\n" " </tr>\n" " <tr> \n" " <td><b>Create Changelist</b></td>\n" " <td>Saves the information you\'ve entered in a numbered pending changelist \n" " which you can edit or submit later. This action is available when you are \n" " editing the default changelist. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Update Changelist</b></td>\n" " <td>Saves the current pending changelist with the information you\'ve entered. \n" " This action is available when you are editing a numbered pending changelist. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td><b>Submit</b></td>\n" " <td>Sends the selected files to the depot where they will be stored as new \n" " revisions and makes a permanent record of this submitted changelist. This \n" " action is available when you are editing a pending changelist that has files \n" " associated with it. \n" " <p> Next to the Submit button, there is a <b>leave files open</b> checkbox. \n" " If you select this checkbox, your files will be checked back out after \n" " you submit, and re-opened for edit. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td><b>Move to Changelist</b></td>\n" " <td>Takes the files you\'ve selected off the current changelist and puts them \n" " in the changelist you picked in the \"Move to Changelist\" field. Note that \n" " any changes you made to the Description or Jobs fields will be ignored when \n" " you click this button. This action is available when you are editing a pending \n" " changelist, and you have more than one pending changelist in your workspace. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td><b>Delete Empty Changelist</b></td>\n" " <td>Deletes the pending changelist from your workspace. This action is available \n" " when you are editing a numbered pending changelist that has no files associated \n" " with it. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Revert Files</b></td>\n" " <td>Overwrites the workspace files you\'ve selected with copies from the depot, \n" " and removes the files from your pending changelist. If you had the files \n" " <a href=\"lock?ac=21\">locked</a>, revert unlocks them. With \"only if unchanged\" \n" " checked, only the unchanged files you have opened for <a href=\"edit?ac=21\">edit</a> \n" " will be reverted. If you want to revert files you\'ve changed, or files opened \n" " for another reason, choose \"ALL selected files\". <font color=red> <i>Warning:</i> \n" " file changes you\'ve made in your workspace <b>will be lost</b> when you \n" " revert files! </font> This action is available when you are editing a pending \n" " changelist that has files associated with it. </td>\n" " </tr>\n" "</table>\n" "<h4>Sharing Workspaces</h4>\n" "\n" "<p> P4Web assumes your workspace is used by only one user, the current user. (That\'s \n" " the user name you see in the P4Web <a href=\"controlpanel?ac=21\">control panel</a> \n" " at the top of each page.) In the rare case where more than one user is using \n" " the same client workspace, you can end up with files opened by more than one \n" " user. However: \n" "<ul>\n" " <li>only the files opened by the current user can be submitted \n" " <li>only the files opened by the current user are visible in the Pending Changelist \n" " form \n" "</ul>\n" "\n" ; const char *edituserHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Editing your User Spec</FONT></B><BR>\n" "\n" "<p>\n" "Each Perforce username has a specification, or <a href=\"defs?ac=21#userspec\">user spec</a>, associated with it. The Edit User page\n" "allows you to update the spec for your username.\n" "<p> <B>To edit your user spec:</B> \n" "<ol>\n" "<li>Click on the <b>Users</b> tab.\n" "<li> Select the <B>Edit current user</B> link at the top of that page.\n" "<li>Enter new values in the fields on that page.\n" "<li>Click <b>Save</b> to update your user spec.\n" "</ol>\n" "\n" "<P> The <b>Edit User</b> page shows the following fields: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td><b>Field</b></td>\n" " <td><b>Description</b></td>\n" " </tr>\n" " <tr> \n" " <td><b>User</b></td>\n" " <td>Your Perforce username. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Email</b></td>\n" " <td>Your email address. This can be used by a <a href=\"defs?ac=21#reviewdaemon\">review \n" " daemon</a> to send you email when files you\'re interested in have changed. \n" " (See the <b>Reviews</b> field, below.) </td>\n" " </tr>\n" " <tr> \n" " <td><b>Update</b></td>\n" " <td>The date and time at which your user spec was last updated. </td>\n" " </tr>\n" " <tr> \n" " <td><b>Access</b></td>\n" " <td>The date and time at which you last accessed the Perforce server. </td>\n" " </tr>\n" " <tr> \n" " <td><b>FullName</b></td>\n" " <td>Your full name. </td>\n" " </tr>\n" " <tr> \n" " <td><b>JobView</b></td>\n" " <td> A search expression that specifies which open <a href=\"defs?ac=21#job\">jobs</a> \n" " automatically appear in a changelist form when you create or submit changelists. \n" " (You can close jobs and permanently associate them with a changelist number \n" " by listing those jobs in the changelist form when you submit it.) \n" " <p> For instance, \"project=titan type=bug\" in the JobView field causes all \n" " open jobs with those parameters to appear in the <b>Jobs</b> field of \n" " your changelist forms. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td><b>Password</b></td>\n" " <td>Your Perforce password (masked). If this field is empty, you do not have \n" " a Perforce password. You can create or change your Perforce password by \n" " entering a value in this field and clicking \"Save\". (After you do this, \n" " you must re-authenticate your browser with the new password. To re-authenticate \n" " your browser, just click the link that appears in the first password error \n" " message you see.) \n" " <p> <font color=red>Warning:</font> If you clear the password field in this \n" " form, and click \"Save\", you remove your Perforce password. Using a P4Web \n" " Helper without having a Perforce password set is not advised. See <a href=\"auth?ac=21\">Passwords \n" " and P4Web</a> for more information. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td><b>Reviews</b></td>\n" " <td>A list of <a href=\"defs?ac=21#filepattern\">file patterns</a> that indicate \n" " the depot files with changes you want to review. For example, a <b>Reviews</b> \n" " field containing: \n" " <pre> //depot/projects/titan/...</pre>\n" " indicates that you\'d like to review changes to any of the files in the <tt>//depot/projects/titan \n" " </tt>path. If your Perforce installation has a review daemon running, you \n" " are notified by email when changelists affecting any of these files are \n" " submitted. </td>\n" " </tr>\n" "</table>\n" "\n" ; const char *errorsHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Errors</FONT></B><BR>\n" "\n" "<P>\n" "Errors in P4Web and Perforce can be caused by a number of reasons:\n" "\n" "<UL>\n" "<P>\n" "<LI><A HREF=\"auth?ac=21\">Password</A> problems.\n" "\n" "<P>\n" "<LI>Incorrect <A HREF=\"settings?ac=21\">configuration settings</A>.\n" "\n" "<P>\n" "<LI>Using <A HREF=\"tips?ac=21#bookmarks\">browser bookmarks</A> \n" " that don\'t work with P4Web in\n" " <A HREF=\"browseonly?ac=21\">Viewer mode</A>.\n" "\n" "<P>\n" "<LI>Maxresults limits:\n" " <blockquote>\n" " In some environments,\n" " turning on the \"Show recent activity\" preference in the \n" " <a href=\"pathbrowser?ac=21\">Tree view</a> can cause \n" " <font color=red>\n" " \"Request too large (over <i>nnnnnn</i>); see \'p4 help maxresults\'\"\n" " </font>\n" " to appear in the <a href=\"controlpanel?ac=21\">control panel</a>.\n" " You can work around the problem by either:\n" " <P>\n" " <ul>\n" " <li>Turning off recent activity display --- click the \n" " \"Hide recent activity\" shortcut button or use the\n" " <a href=\"settings?ac=21\">Settings</a> page.\n" " <li>Navigating down the depot path hierarchy until the messages\n" " disappear.\n" " </ul>\n" " <p>\n" " (\"Maxresults\" can be set by the Perforce administrator to\n" " prevent the Perforce server from getting swamped by reporting\n" " commands.\n" " See the <a href=\"http://www.perforce.com/perforce/technical.html\"><i>\n" " Perforce System Administrator\'s Guide</i></a> for more information.)\n" " </blockquote>\n" " \n" "<P>\n" "<LI>Maxscanrows limits:\n" " <blockquote>\n" " In some environments, setting the <b>Files matching...</b> filter to \n" " search for files can cause \n" " <font color=red>\n" " \"Too many rows scanned (over <i>nnnnnn</i>); see \'p4 help maxscanrows\'\"\n" " </font>\n" " to appear as an error.\n" " <P>\n" " You can prevent this error from occurring by entering a more specific query.\n" " <P>\n" " For instance, rather than entering:\n" " <p>\n" " <TABLE BORDER=1 cellpadding=5 width=200>\n" " <TR>\n" " <TD><KBD>//...<i>aaa</i>...</KBD></TD>\n" " </TR>\n" " </table>\n" " <P>\n" " Enter a more specific path, like:\n" " <p>\n" " <TABLE BORDER=1 cellpadding=5 width=200>\n" " <TR>\n" " <TD><KBD>//depot/main/...<i>aaa</i>...</KBD></TD>\n" " </TR>\n" " </table>\n" " <p>\n" " (\"Maxscanrows\" can be set by the Perforce administrator to\n" " prevent the Perforce server from getting swamped by reporting\n" " commands.\n" " See the <a href=\"http://www.perforce.com/perforce/technical.html\">\n" " <i>Perforce System Administrator\'s Guide</i></a> for more information.)\n" " </blockquote>\n" "<P>\n" "<LI>Having your \n" " <a href=\"defs?ac=21#clientworkspace\">client workspace</a>\n" " and your browser on different machines.\n" " <blockquote>\n" " Unless your P4Web is running\n" " on Unix, you won\'t be able to \n" " <a href=\"launcheditor?ac=21\">launch editors</a>, or\n" " run the interactive <a href=\"resolve?ac=21\">resolve</a> program\n" " if your browser and your workspace are on different host machines.\n" " Also, the <a href=\"filebrowser?ac=21\">File Browser\'s</a>\n" " link to local workspace files may not work unless your browser is running on the\n" " machine where your workspace is.\n" " </blockquote>\n" "\n" "</ul>\n" ; const char *filebrowserHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<HTML><HEAD><P><B><FONT SIZE=+1>P4Web User Guide - Using the File view</FONT></B><BR></HEAD><BODY>\n" "<P>\n" "The <b>File view</b> enables you to display detailed information\n" "about a file, and to work on that file.\n" "You get to the File view by\n" "clicking the file <i>name</i> portion of any of\n" "the files listed in the <a href=\"pathbrowser?ac=21\">Tree view</a>.\n" "You can also get to the File view\n" "by clicking any of the file links list in the\n" "<a href=\"describe?ac=21\">Changelist Description</a> page,\n" "the\n" "<a href=\"submit?ac=21\">Submit Changelist</a> page, or the\n" "<a href=\"editpending?ac=21\">Pending Changelist</a> page.\n" "(If you are using P4Web in \n" "<a href=\"browseonly?ac=21\">Viewer mode</a>,\n" "some of the information,\n" "links and menu items described here won\'t be visible to you.)\n" "<p>\n" "The current file\'s\n" "full depot path and name appear below the control panel.\n" "Each component of the path is a link to a directory\n" "level in the <a href=\"pathbrowser?ac=21\">Tree view</A>.\n" "\n" "<p> Detailed state information follows the current file heading: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td width=\"18%\"><b>Type</b>, <b>Have</b>, and <b>Head</b> </td>\n" " <td width=\"82%\"> The file\'s <a href=\"help_filetypes?ac=21\">filetype</a>, the \n" " revision you have in your client workspace, and the head revision in the \n" " depot, respectively. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"18%\"><b>Workspace</b></td>\n" " <td width=\"82%\"> \n" " <p>Displays the location of the file in your workspace and gives you \n" " a browser link to it. If you click on this link, your browser opens \n" " the workspace file, allowing you to view work in progress. The file must \n" " be local to the machine running the browser. Some browsers do not support \n" " this functionality. \n" " <p> Additional state information is displayed if your workspace file needs to \n" " be <a href=\"sync?ac=21\">synced</a>, if you and/or anyone else has the file \n" " opened, if you need to <a href=\"resolve?ac=21\">resolve</a> the file, and \n" " so forth. </p>\n" " </td>\n" " </tr>\n" " <tr> \n" " <td width=\"18%\"><b>File state</b></td>\n" " <td width=\"82%\">Displays Perforce state information for the current file.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"18%\"><a href=\"filelog?ac=21\"><b>Revision History</b></a></td>\n" " <td width=\"82%\">Displays the complete history of the file and provides links \n" " to previous file version information and content. (Revision History is the \n" " default File view display.) </td>\n" " </tr>\n" " <tr> \n" " <td width=\"18%\"><b>Changelist description/action</b></td>\n" " <td width=\"82%\"> Displays a summary list of all changelists submitted to this \n" " file, with links to the corresponding <a href=\"describe?ac=21\">Changelist \n" " Description</a> pages. </td>\n" " </tr>\n" "</table>\n" "<p>\n" "For files whose <a href=\"filetype?ac=21\">filetype</a> is \"text,\" these menu choices \n" "are available: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr>\n" " <td><b>View - head rev text</b> </td>\n" " <td>Displays text of the most recent version of the file in the depot. </td>\n" " </tr>\n" " <tr>\n" " <td><b>View - workspace file text</b></td>\n" " <td>Displays the text of the file in your workspace. </td>\n" " </tr>\n" " <tr>\n" " <td><b>View - annotated file text</b></td>\n" " <td>Displays each line of a file\'s head revision with the line number where it \n" " was introduced. </td>\n" " </tr>\n" " <tr>\n" " <td><b>Open head rev in browser</b></td>\n" " <td>Opens the most recent depot revision of the file in your browser. </td>\n" " </tr>\n" " <tr>\n" " <td><b>Workspace diffs</b></td>\n" " <td>Displays the changes you\'ve made to the file in your workspace. </td>\n" " </tr>\n" " <tr>\n" " <td><b>Diff - workspace file vs. synced rev</b></td>\n" " <td>Displays the diffs between the file in your workspace and the version \n" " you\'re synced to. </td>\n" " </tr>\n" " <tr>\n" " <td><b>Diff - synced rev vs. head rev</b></td>\n" " <td>Displays the diffs between the version you\'re synced to and the most recent \n" " version in the depot. </td>\n" " </tr>\n" " <tr>\n" " <td><b>Diff - workspace file vs. head rev</b></td>\n" " <td>Displays the diffs between the file in your workspace and the most recent \n" " version in the depot. </td>\n" " </tr>\n" "</table>\n" "\n" "\n" "\n" "<p> You can run the following commands on any type of file: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td width=\"17%\"><a href=\"sync?ac=21\">Sync file...</a></td>\n" " <td width=\"83%\">Sync to any revision of this file. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"17%\"><a href=\"launcheditor?ac=21\">Open workspace file in editor</a></td>\n" " <td width=\"83%\">Brings up the workspace file in an editor window</td>\n" " </tr>\n" " <tr> \n" " <td width=\"17%\"><a href=\"submit?ac=21\">Submit default changelist...</a> </td>\n" " <td width=\"83%\">Submit just this file if it\'s open, or all the files in your \n" " default changelist. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"17%\"><a href=\"edit?ac=21\">Open for edit...</a></td>\n" " <td width=\"83%\">Open this file for edit, optionally changing its type and \n" " putting it in a particular changelist. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"17%\"><a href=\"add?ac=21\">Open for add...</a> </td>\n" " <td width=\"83%\">Open this file for add, optionally specifying its type and \n" " putting it in a particular changelist. (Available only if the file is not \n" " already opened for add or present in the depot.) </td>\n" " </tr>\n" " <tr> \n" " <td width=\"17%\"><a href=\"delete?ac=21\">Open for delete...</a></td>\n" " <td width=\"83%\">Open this file for delete, optionally putting it in a particular \n" " changelist. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"17%\"><a href=\"remove?ac=21\">Remove from workspace</a></td>\n" " <td width=\"83%\">Removes the file from your workspace unless the file is currently \n" " open. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"17%\"><a href=\"integrate?ac=21\">Integrate...</a> </td>\n" " <td width=\"83%\">Open this file so changes from another file can be integrated \n" " to it. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"17%\"><a href=\"resolve?ac=21\">Resolve file...</a></td>\n" " <td width=\"83%\">Merge changes into the current file using a variety of options. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td width=\"17%\"><a href=\"lock?ac=21\">Lock</a> </td>\n" " <td width=\"83%\">Locks file if it\'s opened by you and not locked by someone \n" " else. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"17%\"><a href=\"unlock?ac=21\">Unlock</a></td>\n" " <td width=\"83%\">Unlock file if it\'s locked by you. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"17%\"><a href=\"revert?ac=21\">Revert if unchanged</a></td>\n" " <td width=\"83%\">The file is closed and taken off your pending changelist if \n" " you opened the file for edit but didn\'t change it, or if you opened the \n" " file for integrate but didn\'t resolve it.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"17%\"><a href=\"revert?ac=21\">Revert even though changed</a></td>\n" " <td width=\"83%\">Regardless of what you\'ve done to your workspace file, close \n" " it, replace it with a new copy from the depot, and take it off your pending \n" " changelist. <font color=red>Warning: this option overwrites any changes \n" " you made to your workspace copy of the file.</font> </td>\n" " </tr>\n" "</table>\n" "<p>These shortcut buttons are available in the <b>File</b> view. With the exception \n" " of <b>Open for add...</b> and <b>Open workspace file in editor</b>, the commands \n" " in the <b>File</b> view work only with Perforce-managed files. \n" "<table width=\"33%\" border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td><img src=\"/gotreeIcon?ac=20\"></td>\n" " <td>Show the <a href=\"pathbrowser?ac=21\">Tree view</a>. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/runsyncIcon?ac=20\"></td>\n" " <td><a href=\"sync?ac=21\">Sync</a> the file to the head revision. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/runeditIcon?ac=20\"></td>\n" " <td><a href=\"edit?ac=21\">Open for edit</a> in default changelist, with no filetype \n" " change. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/rundeleteIcon?ac=20\"></td>\n" " <td><a href=\"delete?ac=21\">Open for delete</a> in default changelist. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/rundiffIcon?ac=20\"></td>\n" " <td>Show all diffs (the differences between your workspace file and the head \n" " revision of the file in the depot). </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/launcheditIcon?ac=20\"></td>\n" " <td> \n" " Open workspace file in an <a href=\"launcheditor?ac=21\">editor</a>. \n" " \n" " </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/showtextIcon?ac=20\"></td>\n" " <td>Show text of the head revision of the depot file. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/browsetextIcon?ac=20\" width=\"25\" height=\"25\"></td>\n" " <td>Display the head revision in a web browser </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/showfilelogIcon?ac=20\"></td>\n" " <td>Show <a href=\"filelog?ac=21\">file history</a> </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/runsubmitIcon?ac=20\"></td>\n" " <td>Go to the <a href=\"submit?ac=21\">Submit Default Changelist</a> page. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/runrevertIcon?ac=20\"></td>\n" " <td><a href=\"revert?ac=21\">Revert</a> the file if it is unchanged (see above) \n" " </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/cancelIcon?ac=20\"></td>\n" " <td>Cancels your last server request before it is finished. </td>\n" " </tr>\n" "</table>\n" "</BODY></HTML>\n" ; const char *filelogHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Viewing Revision History</FONT></B><BR>\n" "\n" "<P>\n" "<table align=right><tr>\n" "<td> </td>\n" "<td bgcolor=#eeeeee><img border=1 src=\"/showfilelogIcon?ac=20\"></td>\n" "<td><font size=-3>\"View revision history\"</font></td>\n" "</tr>\n" "</table>\n" "To view a file\'s Revision History, click on the file and then select <b>Revision \n" "history</b> from the <b>Action</b> menu. You can also use the <B>View revision \n" "history</B> shortcut. \n" "<p> Each entry in the Revision History offers several links: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr>\n" " <td> </td>\n" " <td>\n" " <p> \n" " <dl> \n" " <dt><b>File Content Display </b></dt>\n" " </dl>\n" "\n" "</td>\n" " <td>In the <b>Rev</b> column, the revision number is a link to the content \n" " of the file at that revision. It\'s also an entry point to <a href=\"bitb?ac=21\">Back-in-Time \n" " Browsing®</a>, when applicable. This link is present regardless of <a href=\"help_filetypes?ac=21\">filetype</a>, \n" " for all non-deleted file revisions. (See <a href=\"tips?ac=21#filecontent\">Displaying \n" " File Content</a> for more browser-related information.) </td>\n" " </tr>\n" " <tr>\n" " <td><img src=\"/rundiffIcon?ac=20\"></td>\n" " <td><b>Diffs</b></td>\n" " <td>To diff between a file revision and its previous revision click the Diff \n" " shortcut. This link is available only for text files between non-deleted \n" " revisions. You can also use the Diff commands available from the <b>Action</b> \n" " menu. \n" " </td>\n" " </tr>\n" " <tr>\n" " <td> </td>\n" " <td>\n" " <p> \n" " <dl>\n" " <dt><b>Changelist Description </b></dt>\n" " </dl>\n" " </td>\n" " <td>The changelist number is a link to the <a href=\"describe?ac=21\">Changelist \n" " Description</a>. This link is present for every revision. </td>\n" " </tr>\n" " <tr>\n" " <td><img src=\"/showtextIcon?ac=20\"></td>\n" " <td>\n" " <p> \n" " <dl>\n" " <dt><b>File Text </b></dt>\n" " </dl>\n" " </td>\n" " <td>To view the plain text of the file at that revision, click the <b>View \n" " file text </b>shortcut button. This is available for text files at non-deleted \n" " revisions only. (See <a href=\"tips?ac=21#filecontent\">Displaying File Content</a> \n" " for more browser-related information.) </td>\n" " </tr>\n" " <tr>\n" " <td> </td>\n" " <td>\n" " <p> \n" " <dl>\n" " <dt><b>Browse Files </b></dt>\n" " </dl>\n" " </td>\n" " <td>\n" " Files shown as <a href=\"integrate?ac=21\">integrations</a> to or from \n" " the current file are links to the <a href=\"filebrowser?ac=21\">File view</a> \n" " pages for the integrated files. \n" " \n" " </td>\n" " </tr>\n" "</table>\n" "\n" "\n" ; const char *filetypeHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Changing Filetypes</FONT></B><BR>\n" "\n" "<p>\n" "In Perforce, you can change the\n" "<a href=\"help_filetypes?ac=21\">filetype</a> of files stored in the\n" "depot either by:\n" "\n" "<ul>\n" " <p> \n" " <li> specifying a filetype when you open files for <a href=\"edit?ac=21\">edit</a> \n" " or <a href=\"integrate?ac=21\">integrate</a>, or \n" " <p> \n" " <li><b>reopening</b> files already opened for <a href=\"add?ac=21\">add</a>, edit, \n" " or integrate (clicking the \"Reopen\" button in the \"Change Filetype\" form after \n" " you have selected files and entered a new filetype.) \n" "</ul>\n" "\n" "<p> The new filetype takes effect when you <a href=\"submit?ac=21\">submit</a> your \n" " opened files to the depot. (See <a href=\"help_filetypes?ac=21\">Filetypes</a> \n" " for a list of Perforce filetypes.) \n" "<p> Selecting <b>Change filetype...</b> from the <b>Action</b> menu brings up \n" " a form that lets you enter a new filetype and reopen your opened files using \n" " that filetype.\n" " If you chose <b>Change filetype...</b> with a directory selected, the form \n" " enables you to select the files on which the <b>Reopen</b> command operates. \n" " See <a href=\"restrictfiles?ac=21\">Restricting Files Used in Commands</a> for \n" " more information. \n" "\n" ; const char *findfilesHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Finding Files</FONT></B><BR>\n" "\n" "<p>\n" "You can use P4Web to find Perforce\n" "<a href=\"defs?ac=21#depot\">depot</a> files whose names and/or paths\n" "match a pattern you specify.\n" "<p>\n" "<b>To search for a depot file:</b>\n" "<ol>\n" " <li>Navigate to the depot path that you want to search. <br>\n" " (You can search from the root of the depot tree, but if your depots are very \n" " large, you can reduce server workload by running your search from a lower-level \n" " path.) \n" " <li>Click the radio button next to the <b>Files matching:</b> field.\n" " <li>Enter a pattern to match. You can use these Perforce wildcards: \n" " <blockquote>\n" "<table cellspacing=5 bgcolor=#eeeeee border=0><tr>\n" "<td><b><font size=+2>*</font></b></td>\n" "<td>match at a particular directory level</td>\n" "</tr><tr>\n" "<td><b><font size=+2>...</font></b></td>\n" "<td>match at any subdirectory level</td>\n" "</tr></table>\n" "</blockquote>\n" " <li>Click the <b>Filter</b> button. \n" "</ol>\n" "<p> P4Web appends the pattern you enter to the current path to find the depot \n" " files that match. P4Web uses the current <a href=\"defs?ac=21#clientview\">client \n" " view</a> mapping to find depot files. P4Web looks for the depot files that match \n" " the pattern; it doesn\'t scan your workspace. When it finds files, P4Web displays \n" " their depot location, not their workspace location. To find out where a particular \n" " file is located in your workspace, click on the name of that file. \n" "<h4>Examples</h4>\n" "<p>\n" "<blockquote>\n" " <table cellspacing=5 cellpadding=5 bgcolor=#eeeeee border=0>\n" " <tr> \n" " <td><b>Current path</b></td>\n" " <td><b>Pattern</b></td>\n" " <td><b>Matches these files</b></td>\n" " </tr>\n" " <tr> \n" " <td valign=top><tt>//depot/project/titan/</tt></td>\n" " <td valign=top><tt>*.html</tt></td>\n" " <td valign=top><tt> //depot/project/titan/index.html<br>\n" " //depot/project/titan/test.html </tt></td>\n" " </tr>\n" " <tr> \n" " <td valign=top><tt>//depot/project/titan/</tt></td>\n" " <td valign=top><tt>.../*.html</tt></td>\n" " <td valign=top><tt> //depot/project/titan/index.html<br>\n" " //depot/project/titan/test.html<br>\n" " //depot/project/titan/install/index.html<br>\n" " //depot/project/titan/install/tips.html<br>\n" " //depot/project/titan/userguide/contents.html<br>\n" " </tt></td>\n" " </tr>\n" " <tr> \n" " <td valign=top><tt>c:\myworkspace\titan\docs\</tt></td>\n" " <td valign=top><tt>*.html</tt></td>\n" " <td valign=top><tt> //depot/project/titan/index.html<br>\n" " //depot/project/titan/test.html </tt></td>\n" " </tr>\n" " </table>\n" "\n" "\n" "</blockquote>\n" ; const char *indexHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Administering P4Web</FONT></B><BR>\n" "<H3>\n" "<CENTER>\n" " </center>\n" "</H3>\n" "<p>This topic covers the following aspects of P4Web administration:\n" "<ul>\n" " <li><a href=\"index?ac=21#installing\">Installing P4Web </a></li>\n" " <li><a href=\"index?ac=21#start\">Starting P4Web </a></li>\n" " <li><a href=\"index?ac=21#https\">Configuring P4Web with https</a></li>\n" " <li><a href=\"index?ac=21#connecting\">Connecting to P4Web</a></li>\n" " \n" " <li><a href=\"index?ac=21#stop\">Stopping P4Web</a></li>\n" " <li><a href=\"index?ac=21#docs\">P4Web documentation</a></li>\n" "</ul>\n" "<p>P4Web is a Perforce client program that runs on any platform. It can be used \n" " either in <i>Standard </i>mode or <i>Viewer </i>mode: \n" "<ul>\n" " <p> \n" " <li><a name=standard></a><B>Standard mode</B> (default) turns your Web browser \n" " into a complete Perforce user interface. You can use it to work with files \n" " and access depot information. In Standard mode, P4Web must run on a machine \n" " that can read and write files in your client workspace. <br>\n" " <br>\n" " To allow other users to access your instance of P4Web, specify the <tt>-M</tt> \n" " flag. When multiuser access is enabled, users are required to log in and can \n" " choose a workspace (or can choose to browse with no workspace selected). P4Web \n" " displays the location of the workspace, which might reside on a remote machine. \n" " To work on files in remote workspaces, users download the files to their local \n" " machine, edit them, upload them to the machine where the workspace resides, \n" " then submit the files. \n" " <p> \n" " <li><a name=viewer></a><B>Viewer mode</B> allows read-only access to depot files \n" " and information. P4Web makes an ideal document server, enabling users to browse \n" " revisions of files stored in a Perforce depot. Anyone can point their browser \n" " to P4Web instance running in Viewer mode. Perforce protections can be used \n" " to control depot access in Viewer mode. \n" "</ul>\n" "<p> To your web browser, P4Web looks like a web server. To a Perforce server, \n" " P4Web looks like any other Perforce client program. P4Web communicates with \n" " the Perforce server using the Perforce C++ API. It also communicates with your \n" " web browser, sending HTML and receiving URL requests and form input. <a name=install></a> \n" "<h3><a name=\"installing\"></a>Installing P4Web</h3>\n" "\n" "<p>\n" "P4Web is available for Macintosh, Windows, and Unix.\n" "For download information, please go to the\n" "<a href= http://www.perforce.com/perforce/downloads/index.html>Perforce Downloads</a> page.\n" "\n" "<ul>\n" " <p> \n" " <li> <b>Installing P4Web on Unix and Mac OS X</b> \n" " <p> Download the <b>p4web</b> executable for your Unix platform, and put it \n" " in a directory in your path. If you are installing it for everyone to use, \n" " put it in <kbd><B>/usr/local/bin</B></kbd> or equivalent. Make sure the \n" " <b>p4web</b> file has execute permission. \n" " <p> If you do not already have <b>p4</b> (the Perforce command line client) \n" " on your system, download the executable from the <a href= http://www.perforce.com/perforce/downloads/index.html>Perforce \n" " Downloads</a> page and install it. \n" " <p> \n" " <li> <b>Installing P4Web on Windows</b> \n" " <p> Download the P4Web installer and run it on your Windows machine. When \n" " prompted, select <B>User</B> installation. This option installs the P4Web \n" " executable, <b>p4web.exe</b> and the Perforce command line client, <b>p4.exe</b>, \n" " if it is not already installed. \n" " <p> \n" " <li> <b>Installing P4Web as a service on Windows </b> \n" " <p> If you have administrative permissions, you can install P4Web to run as \n" " a service on your Windows machine. \n" " <p> Download the P4Web installer program, <b>perforce.exe</b>, and run it \n" " on your Windows workstation. When prompted, select one of the following \n" " options: <p>\n" " <ul>\n" " <li><B>Administrator Typical</B>: runs P4Web as a service in <a href=#viewer>Viewer \n" " mode</a>. \n" " <li><B>Administrator Custom</B>: enables you to run P4Web in either <a href=#viewer>Viewer \n" " mode</a> or <a href=#standard>Standard mode</a>. \n" " <p> \n" " </ul>\n" " This option installs the P4Web executable, <b>p4webs.exe</b>. \n" " <p> The port number that P4Web uses when running as a service is specified \n" " by setting the environment variable P4WEBPORT. When using P4Web as a service, \n" " point your browser to: <b><kbd>http://localhost:<I>P4WEBPORT</I></kbd></b>. \n" " <p> To change the user when running P4Web as a service, you must first stop \n" " the service, then set the user, then start the service again. At the DOS \n" " prompt, issue the following commands: <p>\n" " <ol>\n" " <li><kbd>svcinst stop -n \"Perforce Web\"</kbd> </li>\n" " <li><kbd>p4 set -S \"Perforce Web\" P4USER=<I>username</I></kbd> </li>\n" " <li><kbd>svcinst start -n \"Perforce Web\"</kbd> </li>\n" " </ol>\n" "</ul>\n" "\n" "<h3><a name=start></a> Starting P4Web </h3>\n" "<p>When you start P4Web in Standard mode or Viewer mode, you specify the Perforce user and client that are used when P4Web connects to the Perforce server. The client view and protections defined for the specified client and user determine the scope and type of access to the Perforce server that P4Web has. For details about defining protections and client views, refer to the <em>P4 User\'s Guide</em>.\n" "<h4>Starting P4Web on Windows</h4>\n" "<p>If you installed P4Web as an application, choose <b>Start>Programs>Perforce>Launch \n" " P4Web Application</b>. To specify settings other than those you configured when \n" " you installed P4Web, invoke it from the <a href=\"#cmd\">command line</a>.\n" "<p> If you are running P4Web as a service on Windows, P4Web is started immediately \n" " after you install it. To verify that it has started, go to the <b>Windows Control \n" " Panel</b>. Under <b>Administrative Tools>Component Services</B>, click on \n" " <b>Services</b> and find <b>Perforce Web</b>. If P4Web is not started, click \n" " <B>Start the service</B> in the left-hand column. \n" "<h4> <a name=cmd></a>Invoking P4Web from the command line</h4>\n" "<p> To start an instance of P4Web, invoke p4web, specifying desired options using \n" " the following command line flags: \n" "\n" "\n" "<p>\n" "<table width=\"90%\" border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><b>Command line flag</b></td>\n" " <td width=\"84%\"><b>Description</b></td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-b</tt></td>\n" " <td width=\"84%\">Specifies Viewer mode (no authentication). Users are not prompted \n" " to enter a password to connect to P4Web. However, if your user name requires \n" " a password when accessing Perforce, specify that password using the <tt>-P</tt> \n" " flag when you start P4Web. The default mode is Standard mode, in which P4Web \n" " can read and write files in a client workspace on the machine where P4Web \n" " is running. </td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-B</tt></td>\n" " <td width=\"84%\">Specifies Viewer mode plus authentication. Each user is prompted \n" " to enter user name and password the first time they browse to the P4Web \n" " instance, and whenever tickets expire (if the target server is using ticket-based \n" " authentication). When prompted, users must enter the name and password of \n" " the Perforce user with which P4Web was started, not their own user name.</td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-C <i>charset</i></tt></td>\n" " <td width=\"84%\">Character set to be used for translation of Unicode files.</td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-c <i>client</i></tt></td>\n" " <td width=\"84%\">Specifies the Perforce client workspace to be used to connect \n" " to the Perforce server. </td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-h </tt></td>\n" " <td width=\"84%\">Displays the p4web command line flags but does not start the \n" " program.</td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" height=\"29\" valign=\"top\"><tt>-H <i>host</i></tt></td>\n" " <td width=\"84%\" height=\"29\">Specifies the Perforce client workspace host machine. \n" " Because the client workspace resides on the machine where P4Web is running, \n" " there is typically no need to specify this flag.</td>\n" " </tr>\n" "\n" " <tr> \n" " <td colspan=\"2\" height=\"29\" valign=\"top\"><tt>-i</tt></td>\n" " <td width=\"84%\" height=\"29\">Specify this flag in the <tt>/etc/inetd.conf</tt> file if starting P4Web using inetd.</td>\n" " </tr>\n" "\n" " <tr> \n" " <td colspan=\"2\" height=\"29\" valign=\"top\"> \n" " <p><tt>-In "name"</tt></p>\n" " <p><tt>-Io "comment"</tt></p> </td>\n" " <td width=\"84%\" height=\"29\">Override the Perforce server\'s Zeroconf human-readable \n" " name or comment. </td>\n" " </tr>\n" " <tr> \n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt> -l </tt></td>\n" " <td width=\"84%\">Accept connections only from a browser running on the local \n" " machine. By default, P4Web accepts connections from an authorized browser \n" " on any machine. (See <a href=\"auth?ac=21\">Passwords and Authorization</a> \n" " for more information.) </td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-L <i>logfilename</i></tt></td>\n" " <td width=\"84%\">Log all requests sent to P4Web to the specified file.</td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-M</tt></td>\n" " <td width=\"84%\">Accept connections from multiple users. By default, P4Web \n" " connects to the server and issues commands using the single user specified \n" " by the <tt>-u</tt> flag. When you enable connections from muliple users, \n" " a single instance of P4Web can interact with the Perforce server on behalf \n" " of all (valid) users. When users connect, they are prompted for username \n" " and password, and are required to choose a client workspace (if they intend \n" " to sync and edit files) or to select Browse mode (if they intend only to \n" " view information and browse files). <b>Note:</b> to enable users to browse without selecting a client workspace, you must configure a default client workspace on the machine where P4Web is running. To configure the default workspace, you can specify the <tt>-c</tt> flag when invoking P4Web, issue the <tt>p4 set</tt> command, set the P4CLIENT environment variable, or use a config file. </td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-m <i>mimefilepath</i></tt></td>\n" " <td width=\"84%\" valign=\"top\"> \n" " <p>Specify a custom MIME type map file. </p>\n" " <p>In the MIME type map file, you can map new types and override existing \n" " mappings, to control how your browser handles files returned to it by \n" " P4Web. As an alternative to the <tt>-m</tt> flag, you can set the <tt>P4WEBMIMEFILE</tt> \n" " environment variable (unless you are starting P4Web as a Windows service, \n" " in which case you must use the <tt>-m</tt> flag).<br>\n" " <br>\n" " The custom MIME file must be a plain text file, specifying each type mapping \n" " on a separate line. Each line must begin with a period, followed by the \n" " extension and its mapping. \n" " <p> <b>Example</b>: \n" " <blockquote> \n" " <p> <tt>.h text/plain<br>\n" " .c text/plain<br>\n" " .C text/plain<br>\n" " .cc text/plain<br>\n" " .cpp text/plain<br>\n" " .java text/plain<br>\n" " .pl text/plain<br>\n" " .py text/plain</tt></p>\n" " </blockquote> </td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-p <i>host</i>:<i>port</i></tt></td>\n" " <td width=\"84%\">Perforce server host and port number. Defaults to your local \n" " host machine and port 1666.</td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-P <i>password</i></tt></td>\n" " <td width=\"84%\">Specifies the password for the Perforce user to be used to \n" " connect to the Perforce server.<b> Note:</b> This option can only be used \n" " with the <tt>-B</tt> flag</td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-r <i>path</i></tt></td>\n" " <td width=\"84%\">Restrict to clients with roots in the specified path (for \n" " security).</td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-s <i>options</i></tt></td>\n" " <td width=\"84%\"> \n" " <p>Specifies security-related options. Specify all options in a single instance \n" " of the <tt>-s</tt> flag, for example <tt>-saBD</tt>. (<b>Note:</b> <i>Remote</i> \n" " users are users whose browser is running on a different machine than the \n" " machine where P4Web is running. The <tt>-ss </tt>and <tt>-sq </tt>options \n" " affect both local and remote users. All other options affect only remote \n" " users.) Options are as follows: </p> </td>\n" " </tr>\n" " <tr> \n" " <td rowspan=\"17\" width=\"9%\" valign=\"top\">Options</td>\n" " <td width=\"7%\"><tt>a</tt></td>\n" " <td width=\"84%\">Prevent remote users from switching client workspaces.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>B</tt></td>\n" " <td width=\"84%\">Enable remote users to use client workspaces that have no \n" " owner.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>C</tt></td>\n" " <td width=\"84%\">Accept connections from any client.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>D</tt></td>\n" " <td width=\"84%\">Enable remote users to create client workspaces. <b>Note</b>: \n" " by default, client workspaces created by local users are assigned a client \n" " root that cannot be edited. To enable local users to edit the client root, \n" " specify <tt>-sD</tt>.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>E</tt></td>\n" " <td width=\"84%\">Allow remote users to edit the Root, Altroots and Owner fields \n" " in client workspace specifications.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>F</tt></td>\n" " <td width=\"84%\">Enable display of startup flags for remote users.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>G</tt></td>\n" " <td width=\"84%\">Accept connections from remote users if client has empty Host \n" " field. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>h</tt></td>\n" " <td width=\"84%\">To reduce requests to the Perforce server, do not allow requests \n" " for integration history from server when displaying revision history, submitted \n" " changlelists, and jobs.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>i</tt></td>\n" " <td width=\"84%\">Disable integration.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>L</tt></td>\n" " <td width=\"84%\">Enable remote users to create, edit, and resolve symlinks.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>N</tt></td>\n" " <td width=\"84%\">Enable remote users to use null-rooted client workspaces.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>P</tt></td>\n" " <td width=\"84%\">Enable remote users to use clients that contain the recursive \n" " wildcard (...) in client workspace views.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>q</tt></td>\n" " <td width=\"84%\">Disable the display of Revision History. <b>Note</b>: When \n" " you disable the display of Revision History, P4Web displays links to the \n" " file contents on the Path Browser page. This feature enables you to use \n" " P4Web in viewer mode as a document server. In Standard mode, you can browse \n" " your client workspace on the system where P4Web is running. When you are \n" " in Depot View, all Path Browser links take you to the depot version of the \n" " file. In Workspace View, all Path Browser links take you to the local version \n" " of the file. </td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt> r</tt></td>\n" " <td width=\"84%\">Disable the p4 commands feature.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>s</tt></td>\n" " <td width=\"84%\">Generate https links instead of http links. (See <a href=\"#https\">Configuring \n" " P4Web with https</a> for more information.) </td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>w</tt></td>\n" " <td width=\"84%\">Suppress the display of client workspace links to files to \n" " remote users.</td>\n" " </tr>\n" " <tr> \n" " <td width=\"7%\"><tt>x</tt></td>\n" " <td width=\"84%\">Suppress the display of users\' email addresses to remote users.</td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-T <i>tabs</i></tt></td>\n" " <td width=\"84%\">Specifies the tabs to be displayed. Specify the first letter \n" " of the each of the desired tabs. If you omit the Files tab, the first tab \n" " you specify is the first tab that is displayed in your browser. The Setting \n" " tab cannot be hidden. \n" " <p> <b>Example</b>: <tt>p4web -T fps</tt> displays the Files, Pending and \n" " Submitted Changelist tabs. \n" " <p>An additional, previously hidden tab might be displayed, if it is linked \n" " from some other page. For example, <tt>-Tf </tt>displays the Submitted \n" " Changelist tab if you click a changelist number on the Revision History \n" " page. When you click on the Files tab, the Submitted Changelist tab is \n" " hidden again. </td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-u <i>user</i> </tt></td>\n" " <td width=\"84%\">Specifies the Perforce user name to be used to connect to \n" " the Perforce server. <b>Note:</b> This option cannot be used with the <tt>-M \n" " </tt> flag.</td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt> -U <i>username</i></tt></td>\n" " <td width=\"84%\">Mandatory on UNIX systems if you start P4Web as root. For \n" " security purposes, P4Web drops its root privileges after binding to its \n" " listen address.</td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-V</tt></td>\n" " <td width=\"84%\">Displays version information but does not start P4Web.</td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-w <i>port</i></tt></td>\n" " <td width=\"84%\"> Specifies the port on which P4Web accepts browser requests. \n" " On Windows and Macintosh, the default port for P4Web is 8080. On UNIX and \n" " related platforms, the port used by P4Web is the 5000 plus the P4Web user\'s \n" " UID. For example, if the user\'s UID is 525, then, by default, P4Web uses \n" " port 5525. You can start multiple instances of P4Web using on different \n" " port numbers regardless of the port number chosen during installation. To \n" " override the default port, specify another port using the <tt>-w</tt> option. </td>\n" " </tr>\n" " <tr> \n" " <td colspan=\"2\" valign=\"top\"><tt>-0</tt></td>\n" " <td width=\"84%\">Register as a Zeroconf service. (Flag is zero, not the letter O). <strong>Note</strong>: the Avahi implementation of Zeroconf does not support an option for restricting the advertising of services to the localhost machine. You can prevent other machines from connecting by specifying the <tt>-l</tt> flag when you start P4Web, but if you are using Avahi, the P4Web instance is visible to other machines.</td>\n" " </tr>\n" "</table>\n" "\n" " \n" "<p>\n" "\n" "<h3><a name=\"https\"></a>Configuring P4Web with https</h3>\n" " \n" "<p>To specify that all links generated in a P4Web page are https links, start \n" " P4Web with the <tt>-ss</tt> flag. Note that P4Web does not accept https requests. \n" " To convert https requests to http so P4Web can process them, use an https converter \n" " such as stunnel. P4Web RSS feeds also support https, if you configure stunnel \n" " to provide valid certificates and if your RSS reader accepts https requests.</p>\n" "<p>For example, to set up stunnel with P4Web on Windows: \n" " <ol>\n" " <li>Download and install stunnel from <a href=\"http://www.stunnel.org/\">http://www.stunnel.org/</a></li>\n" " <li>Create a text file called stunnel.p4web, containing the required configuration \n" " settings. For example, on Windows, enter the following settings:<br>\n" " <tt> [vpn]<br>\n" " accept = 8080<br>\n" " connect = 8081<br>\n" " TIMEOUTclose = 0</tt></li>\n" " <br>\n" " <li>Start stunnel. <b>Example</b> (full paths required): <tt> \n" " c:\\stunnel\\stunnel c:\\stunnel\\stunnel.p4web </tt> \n" " <li>Start p4web. <b>Example</b>: <tt>c:\\perforce\\p4web -w \n" " 8081 -ss</tt> \n" " </ol>\n" " Direct your P4Web users to browse to <tt>https://<i>stunnelhost</i>:8080</tt>.\n" "<h3><a name=\"connecting\"></a>Connecting to P4Web</h3>\n" " <p> To connect to an instance of P4Web, enter the following URL in the addess \n" " bar of your browser: \n" " \n" "<blockquote> <kbd><b> http://localhost:<i>nnnn</i>/ </b></kbd>(where \n" " <i>nnnn</i> is the port on which p4web accepts browser requests.) </blockquote>\n" " The Perforce server port address is set in the environment variable <tt>P4PORT</tt>, \n" "unless you are running P4Web as a service on Windows. If you are running P4Web \n" "as a service, the port address is set in the environment variable <tt>P4WEBPORT</tt>. \n" "<p> <b>Note:</b> If your browser and P4Web are running on different machines, \n" " specify the name of the machine where P4Web is running instead of \"localhost\". \n" " When prompted, enter your Perforce username and password (if any). \n" "\n" "\n" "<h3> <a name=\"stop\"></a>Stopping P4Web</h3>\n" " <p> To stop a P4Web program: \n" " <ul>\n" " <p> \n" " <li><B>Macintosh</B>: choose <small><b>File > Quit</b></small>. \n" " <p> \n" " <li><B>Windows</B>: close the P4Web console window, or type Ctrl-C in the \n" " window where it is running. \n" " <p> \n" " <li><B>Windows<I> </I> service</B>: to end the current session, close the \n" " P4Web console window. To stop the P4Web service, go to the Services console, \n" " find <b>Perforce Web</b> and click <b>Stop the service.</b> \n" " <p> \n" " <li><B>Unix</B>: kill the\"p4web\" process. \n" " </ul>\n" " <h3>Configuring the P4Web favicon</h3>\n" " <p>A <i>favicon</i> (short for "favorites icon") is an icon associated \n" " with a particular website or webpage. To override P4Web\'s default favicon, \n" " either add the desired icon as <tt>//depot/favicon.ico</tt> or set <tt>P4WEBFAVICON</tt> \n" " to the depot path of the desired icon file in your depot. The favicon is \n" " served to Firefox and Safari browsers, and to Opera browsers unless the \n" " user was logged into the browser session using a cookie. (Opera fails to \n" " serve the cookie when it requests /favicon.ico so the internal version will \n" " be served instead. For details about why P4Web uses cookies to log users \n" " in, see the <a href=\"http://www.perforce.com/perforce/doc.current/user/p4webnotes.html\">P4Web \n" " release notes</a>.) \n" " <p> To enable Internet Explorer to display the P4Web favicon, you must be \n" " running version 6 or higher. To display the icon, your users must perform \n" " the following steps: \n" " <ol>\n" " <li>Clear the Internet Explorer cache. \n" " <li>Clear the cookies associated with the host where P4Web is running. \n" " <li>Clear history associated with that host. \n" " <li>Restart Internet Explorer. \n" " <li><b>Additional step for Internet Explorer 6:</b> Add the page to your \n" " favorites. If you already have the page in your favorites folder, remove \n" " it and add it again. The favicon is displayed in the URL field when you \n" " open the page using the <b>Favorites</b> menu. \n" " </ol>\n" " <h3><a name=docs></a>User Documentation</h3>\n" " <p> After you\'ve pointed your browser to P4Web, use its online help to view \n" " the user documentation. You can also access the online help from the Perforce \n" " web site, as follows: \n" " <P> \n" " <UL>\n" " <LI><A HREF=quickstart?ac=21>Getting Started with Perforce and P4Web</A> \n" " <P> \n" " <LI><A HREF=roadmap?ac=21>P4Web \"Road Map\"</A> \n" " <P> \n" " <LI><A HREF=auth?ac=21>Passwords and Authorization</A> \n" " </UL>\n" "</body>\n" "</html>\n" "\n" ; const char *integrateHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Integrating Files</FONT></B><BR>\n" "\n" "<p> The Perforce <b>integrate</b> command branches new files from existing files \n" " and propagates changes between branched files. You can also use <b>integrate</b> \n" " to effectively rename files by branching new ones from existing ones and <a href=\"delete?ac=21\">deleting</a> \n" " the existing ones. When used to branch new files, source file content is copied \n" " from the depot into new target files in your workspace. When you submit the \n" " target files, they are created in the depot. When you use integrate to propagate \n" " changes between existing files, you will have to <a href=\"resolve?ac=21\">resolve</a> \n" " the target files before you can submit them to account for changes in the source \n" " files. <b>Integrate</b> opens target files in your workspace so you can branch \n" " or resolve changes from source files into them. \n" "P4Web lets you run <b>integrate</b> the following ways:\n" "\n" "<ul>\n" " <p> \n" " <li> With a <I>directory</I> selected in the <b>Files</b> tab, select <b>Integrate...</b> \n" " from the <b>Action</b> menu. This option enables you to open all the files \n" " in the current path for integrate. You can use this to: \n" " <ul>\n" " <li> branch an entire directory hierarchy of files \n" " <li> propagate changes between two entire directory hierarchies of files \n" " <li> rename a directory hierarchy by branching files into a path with a \n" " new name and deleting files in the path with the old name \n" " </ul>\n" " <p> \n" " <li> With a <I>file</I> selected in the <b>Files</b> tab, select <b>Integrate...</b> \n" " from the <b>Action</b> menu. This option enables you to open the current file \n" " for integrate. You can use this to: \n" " <ul>\n" " <li> branch a new file from an existing one \n" " <li> propagate changes between two files \n" " <li> rename a file by branching an existing file into a new one and deleting \n" " the existing file \n" " </ul>\n" " <p> \n" "</ul>\n" "<p> Click the <b>Branches</b> tab to see a list of available branch specs. For \n" " more information, see <a href=\"branch?ac=21\">Working with Branches</a>. </p>\n" "<p>\n" "<h4>The Integrate page</h4>\n" "On the <b>Integrate</b> page, you can specify how you want the <b>integrate</b> \n" "command to behave. After making your selections, you can preview or run the command. \n" "Some of the fields and options you\'ll see are specific to how you came to the \n" "<b>Integrate</b> page. For details: \n" "<ul>\n" " <li><a href=\"integpb?ac=21\">Path integration options</a> (from a directory) \n" " <li><a href=\"integfb?ac=21\">File integration options</a> (from a file) \n" "</ul>\n" "\n" "<p> The following advanced options are common to all integration pages: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr>\n" " <td width=\"28%\" valign=\"top\"><b>Limit revision range </b></td>\n" " <td width=\"72%\">Perforce keeps track of which revisions of a source file have \n" " already been integrated to a target file. Normally <b>integrate</b> opens \n" " the target if <i>any</i> source revisions have not yet been integrated. \n" " You can restrict which source files revisions will be considered by entering \n" " a revision range here. \n" " <ul>\n" " <p> \n" " <li> You can use <a href=\"defs?ac=21#symbolic\">symbolic revision numbers</a> \n" " (for example, \"@12345\") or <a href=\"defs?ac=21#absolute\">absolute revision \n" " numbers</a> (for example, \"#45\"). \n" " <p> \n" " <li> If you enter a \"starting with\" revision, no source revisions prior \n" " to it will be considered. If you don\'t supply the \"@\" or \"#\" prefix, \n" " \"@\" will be assumed. \n" " <p> \n" " <li> If you enter an \"ending with\" revision, no higher source revisions \n" " higher are considered. If you omit the \"@\" or \"#\" prefix, it is assumed \n" " to be the same type of revision number as the starting revision you \n" " supplied, or \"@\" if you didn\'t specify a starting revision. \n" " </ul>\n" "</td>\n" " </tr>\n" " <tr>\n" " <td width=\"28%\" valign=\"top\"><b>Put open files in changelist </b></td>\n" " <td width=\"72%\"> If your client workspace has more than one pending changelist, \n" " you can select one in which to open the files selected for integration.. \n" " </td>\n" " </tr>\n" " <tr>\n" " <td width=\"28%\" valign=\"top\"><b>Enable baseless merges </b></td>\n" " <td width=\"72%\">Normally Perforce only opens a target file for integrate if \n" " it can find a common base between it and the source file to use as a base \n" " for doing a merge. A target file and source file not directly related to \n" " each other by branching have no common base. By default, the target are \n" " not opened in this case. You can use the \"enable baseless merges\" option \n" " to force target files to be opened even if they are not related to source \n" " files by branching. If you do this, Perforce arbitrarily chooses the #1 \n" " revision of the source files to use as a merge base. </td>\n" " </tr>\n" " <tr>\n" " <td width=\"28%\" valign=\"top\"> \n" " <p> \n" " <dl>\n" " <dt><b>Permit deletes/re-adds </b></dt>\n" " </dl>\n" " </td>\n" " <td width=\"72%\"> \n" " <p> If the ending revision of the source file is a deleted file, Perforce \n" " normally opens the target file for delete unless the target file has any \n" " revisions that have not themselves been integrated to the source file. \n" " If the source file exists and the target file does not, Perforce normally \n" " opens the target file for branch/add unless the target file is a deleted \n" " file. Checking the \"permit deletes/re-adds\" option makes the <b>integrate</b> \n" " command open the target file for delete or branch/add even if these conditions \n" " exist. \n" " </td>\n" " </tr>\n" " <tr>\n" " <td width=\"28%\" valign=\"top\"> \n" " <p> \n" " <p> \n" " <dl>\n" " <dt><b>Re-branch source on top of deleted targets </b></dt>\n" " </dl>\n" " </td>\n" " <td width=\"72%\"> \n" " <p> If the source file exists and the target file does not, Perforce normally \n" " opens the target file for branch/add unless the target file is a deleted \n" " file. Checking this option opens the target file for branch/add even if \n" " it is deleted. \n" " </td>\n" " </tr>\n" " <tr>\n" " <td width=\"28%\" valign=\"top\"> \n" " <p> \n" " <p> \n" " <dl>\n" " <dt><b>Delete modified targets if source is deleted </b></dt>\n" " </dl>\n" " </td>\n" " <td width=\"72%\"> \n" " <p> If the ending revision of the source file is a deleted file, Perforce \n" " normally opens the target file for delete unless the target file has any \n" " revisions that have not themselves been integrated to the source file. \n" " Checking this option opens the target file for delete even if it has been \n" " edited. \n" " </td>\n" " </tr>\n" " <tr>\n" " <td width=\"28%\" valign=\"top\"> \n" " <p> \n" " <p> \n" " <dl>\n" " <dt><b>Force re-integration if previously integrated </b></dt>\n" " </dl>\n" " </td>\n" " <td width=\"72%\"> \n" " <p> \n" " Normally Perforce doesn\'t open a target file for integrate if all \n" " of the source file revisions under consideration have already been integrated \n" " to it. Checking the \"force re-integration\" option makes the <b>integrate</b> \n" " command open the target file for integrate regardless of previous integration \n" " history. When you submit the file, integration history between the two \n" " files will be effectively rewritten to reflect the most recent of the \n" " duplicate integrations. \n" " </td>\n" " </tr>\n" " <tr>\n" " <td width=\"28%\" valign=\"top\"> \n" " <p> \n" " <p> \n" " <dl>\n" " <dt><b>Don\'t copy newly branched files to workspace </b></dt>\n" " </dl>\n" " </td>\n" " <td width=\"72%\"> \n" " <p> Normally target files opened for branch/add are created in your workspace. \n" " However, because the content of the new target files is the same as that \n" " of the source files, your workspace files are not required to create the \n" " new files in the depot. If you don\'t need copies of the newly branched \n" " files in your workspace—for example, you are branching a large codeline \n" " but you don\'t plan to do work in the new codeline yourself—use this \n" " option. \n" " </td>\n" " </tr>\n" " <tr>\n" " <td width=\"28%\" valign=\"top\"> \n" " <p> \n" " <p> \n" " <dl>\n" " <dt><b>Change target filetype to match source </b></dt>\n" " </dl>\n" " </td>\n" " <td width=\"72%\"> \n" " <p> \n" " Normally, Perforce doesn\'t change the <a href=\"help_filetypes?ac=21\">filetype</a> \n" " of target files when you integrate to them. Each newly branched file \n" " is given a filetype that matches that of the file it was branched from. \n" " Subsequent changes to the source filetype will not affect the target \n" " file during integration unless you use this option. When you use this \n" " option, the filetype of each target file will be changed to match that \n" " of the corresponding source file at the revision you are integrating \n" " from. The filetype change takes effect when you submit the target files \n" " to the depot. (Note that you can also explicitly <a href=\"filetype?ac=21\">change \n" " the filetype</a> of opened files before submitting them.) \n" " </td>\n" " </tr>\n" " <tr>\n" " <td width=\"28%\" valign=\"top\"> \n" " <p> \n" " <p> \n" " <dl>\n" " <dt><b>Don\'t sync target files to head revision </b></dt>\n" " </dl>\n" " </td>\n" " <td width=\"72%\"> \n" " <p> \n" " Normally, Perforce automatically <a href=\"sync?ac=21\">syncs</a> to \n" " the head revision before integrating. If you select this option, Perforce \n" " uses the revision that you have in your workspace, instead of the head \n" " revision. Note that this is only true if your server is 2002.1 or newer. \n" " \n" " </td>\n" " </tr>\n" "</table>\n" "<p> \n" "<blockquote>\n" " <dl> \n" " <p> \n" " <dt> </dt>\n" " <dd> </dd>\n" " <p> \n" " <dt> </dt>\n" " <dd> \n" " <p> \n" " </dd>\n" " <dt> </dt>\n" " <dd> </dd>\n" " <p>\n" " </dl>\n" "</blockquote>\n" "\n" "\n" "\n" "\n" "\n" ; const char *integpbHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Integrating Files via a Directory</FONT></B><BR>\n" "\n" "<p> When you choose <b>Integrate...</b> from the <b>Action</b> menu on the <B>Files</B> \n" " tab with a folder selected, you can use the resulting <a href=\"integrate?ac=21\">Integrate</a> \n" " page to set up an integration to or from all the files in the selected path. \n" " In most cases, you only need to be concerned with the following fields on the \n" " <b>Integrate</b> page: \n" "<blockquote>\n" "\n" " <p><b>Current path: </b> This is initialized for you. If you change it, terminate \n" " the pathname with a slash (\"/\"). \n" " <p><b>Direction to integrate changes:\n" "</b> \n" "Select the direction in which you want integrate:\n" " <ul>\n" " <p>\n" " <li><b>To files in current path</b> is the default. Files in the current path \n" " are integration <i>targets</i>—that is, they are the ones that will \n" " be opened for integrate. Changes in the source files will be integrated \n" " to files in the current path. \n" " <p> \n" " <p>\n" " <li><b>From files in current path</b> means the files in the current path \n" " will be the integration <i>source</i> and will not themselves be opened \n" " for integrate. Changes to files in the current path will be integrated to \n" " the target files. \n" " </ul>\n" "\n" "<p><b>Use corresponding path:\n" "</b> \n" "Enter a pathname here.\n" "Make sure the pathname ends with a slash (\"/\").\n" "This tells Perforce what pathname to use when looking for\n" "corresponding source or target files,\n" "depending on the integration direction you chose.\n" "\n" "</blockquote>\n" "\n" "<p> The \"Integrate\" button runs the <b>integrate</b> command and opens files for \n" " integrate according to the options you choose. \n" "<p> You can use the \"Preview Integration\" button to see which files <i>would</i> \n" " be opened. This is a particularly good idea when you are using <b>integrate</b> \n" " to branch new files, to confirm that you are creating files in the correct path. \n" " To actually run the <b>integrate</b> command after previewing it, click your \n" " browser\'s \"Back\" button to return to the Integrate Options page, then click \n" " \"Integrate\". \n" "<hr>\n" "<h4>Advanced options</h4>\n" "\n" "<p> An alternative to specifying corresponding paths each time you integrate is \n" " to use a <a href=\"defs?ac=21#branchview\">branch spec</a>. A branch spec is a \n" " predefined mapping of corresponding paths. To list branch specs, choose <b>Go \n" " To>Branch List</b>. \n" "<blockquote>\n" "\n" " <p><b>Use branch spec: </b> Click this radio button and enter the name of the \n" " branch spec. When you choose this option, any \"corresponding path\" you entered \n" " above is ignored. \n" " <ul>\n" "\n" "<p>\n" " <li><b>Integrate files in current path:</b> Restricts the integration to the \n" " files in the current path, using the branch spec. Whether the files in the \n" " current path are the source or target files is controlled by the \"direction \n" " to integrate\" option, above. \n" " <p>\n" " <li><b>Integrate <u>all</u> files in branch spec:</b> If you chose this option, \n" " the current path is ignored, and all the files in the branch spec are considered \n" " for integration. You must choose whether to integrate in the forward or \n" " reverse direction of the branch spec:<p> \n" " <ul>\n" "<p>\n" " <li><b>forward:</b> the files on the right-hand side of the branch spec \n" " mapping are the targets and will be opened for integrate. The files \n" " on the left-hand side of the branch spec mapping are the source. (default.) \n" " <p>\n" " <li><b>reverse:</b> the files on the left-hand side of the branch spec \n" " mapping are the targets and will be opened for integrate. The files \n" " on the right-hand side of the branch spec mapping are the source. \n" " </ul>\n" "\n" "</ul>\n" "\n" "</blockquote>\n" "\n" "<p>\n" "The remaining advanced options are the same regardless of how you arrived at\n" "the <a href=\"integrate?ac=21\">Integrate</a> page.\n" ; const char *integfbHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Integrating a File via a File</FONT></B><BR>\n" "\n" "<p> When you choose <b>Integrate...</b> from the <b>Action</b> menu on the <B>Files</B> \n" " tab with a file selected, you can use the resulting <a href=\"integrate?ac=21\">Integrate</a> \n" " page to set up an integration to or from the current file. In most cases, you \n" " only need to be concerned with the following fields on the <b>Integrate</b> \n" " page: \n" "<blockquote>\n" "\n" "<p><b>Current file:\n" "</b>\n" "This is filled in for you.\n" "It is a writable field to give you more flexibility,\n" "but you don\'t have to change it.\n" "\n" " <p><b>Direction to integrate changes: </b> Select the direction in which you \n" " want integrate. Options are: \n" " <ul>\n" " \n" " <li><b>To current file</b> is the default. The current file is the \n" " integration <i>target</i>—that is, it will be opened for integrate. \n" " Changes in the source file will be integrated to the current file. \n" " <p> \n" " <p>\n" " <li><b>From current file</b> means the current file is the integration \n" " <i>source</i> and will not be opened for integrate. Changes in the current \n" " file will be integrated to the target file. \n" " </ul>\n" "\n" "<p><b>Integrate with this file:\n" "</b> \n" "Enter a complete filename, including its depot path, here.\n" "This tells Perforce which file to use as the\n" "corresponding source or target,\n" "depending on the integration direction you chose.\n" "\n" "</blockquote>\n" "\n" "<p>\n" "The \"Integrate\" button runs the <b>integrate</b> command and\n" "opens the file for integrate according to the options\n" "you chose.\n" "<p> You can use the \"Preview Integration\" button to see how the file <i>would</i> \n" " be opened. This is a particularly good idea when you are using <b>integrate</b> \n" " to rename a file, because it lets you confirm that you are creating a file with \n" " the correct name and path. To actually run the <b>integrate</b> command after \n" " previewing it, click your browser\'s \"Back\" button to return to the <b>Integrate \n" " Options</b> page, then click \"Integrate\". \n" "<hr>\n" "<h4>Advanced options</h4>\n" "\n" "<p>\n" "An alternative to specifying a corresponding file\n" "is to use a <a href=\"branch?ac=21\">branch spec</a>.\n" "A branch spec is a predefined, stored mapping of corresponding paths.\n" "\n" "<blockquote>\n" "\n" "<p><b>Use branch spec:\n" "</b>\n" " To use a branch spec for this integration, click this radio button and enter \n" " the name of the branch spec. When you choose this option, any \"corresponding \n" " file\" you entered above is ignored. Instead, the branch spec determines the \n" " corresponding file for this integration. \n" "</blockquote>\n" "\n" "<p>\n" "The remaining advanced options are the same regardless of how you arrived at\n" "the <a href=\"integrate?ac=21\">Integrate</a> page.\n" ; const char *help_filetypesHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Filetypes</FONT></B><BR>\n" "\n" "<p>\n" "When you add a new file to a Perforce depot, Perforce stores\n" "its contents according to its type.\n" "In addition, Perforce uses a file\'s type to determine how it gets\n" "written into a client workspace.\n" "<p> A Perforce filetype consists of a <i>base</i> type (text, binary, etc.) plus \n" " <i>modifiers</i> (uncompressed, writeable, etc.). You specify a Perforce filetype \n" " as <i>base+modifier(s)</i>. For example: \n" "<pre>\n" " text+kx\n" "</pre>\n" "is an executable text file with keyword expansion. Its base type is \"text\"; its \n" "modifiers are \"keyword expansion\" and \"executable\". Use this format when <a href=\"filetype?ac=21\">changing \n" "filetypes</a>. You can also use this format when opening files for <a href=\"add?ac=21\">add</a>, \n" "<a href=\"edit?ac=21\">edit</a>, or <a href=\"integrate?ac=21\">integrate</a>, to override \n" "the default filetype. \n" "<h4>Base filetypes</h4>\n" " <P>\n" " <TABLE BORDER=3>\n" " <TR>\n" " <TH><STRONG>Type</STRONG></TH>\n" " <TH><STRONG>Client workspace appearance</STRONG></TH>\n" " <TH><STRONG>Perforce server storage</STRONG></TH>\n" " </TR>\n" " <TR>\n" " <TD><KBD>text</KBD></TD>\n" " <TD>Text</TD>\n" " <TD>Text; reverse-delta (RCS) format</TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>binary</KBD></TD>\n" " <TD>Raw bytes</TD>\n" " <TD>One file per revision; compressed</TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>symlink</KBD></TD>\n" " <TD>Symbolic link on Unix; text on other platforms</TD>\n" " <TD>Text; content is name of linked file</TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>resource</KBD></TD>\n" " <TD>Unicode file</TD>\n" " <TD>Stored as UTF-8</TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>apple</KBD></TD>\n" " <TD>Mac resource + data</TD>\n" " <TD>One file per revision; compressed</TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>unicode</KBD></TD>\n" " <TD>Mac resource fork</TD>\n" " <TD>One file per revision; compressed</TD>\n" " </TR>\n" " </TABLE>\n" "\n" "<h4>Filetype modifiers</h4>\n" " <P>\n" " <TABLE BORDER=3>\n" " <TR>\n" " <TH><STRONG>Modifier</STRONG></TH>\n" " <TH>\n" " <div align=\"left\"><STRONG>Description</STRONG></div>\n" " </TH>\n" " </TR>\n" " <TR><TD><KBD>+m</KBD></TD><TD>Workspace file\'s modtime is set to submit time instead of sync time</TD></TR>\n" " <TR><TD><KBD>+w</KBD></TD><TD>Workspace file is writable</TD></TR>\n" " <TR><TD><KBD>+x</KBD></TD><TD>Workspace file is executable</TD></TR>\n" " <TR><TD><KBD>+k</KBD></TD><TD>Workspace file has RCS keywords expanded</TD></TR>\n" " <TR><TD><KBD>+ko</KBD></TD>\n" " <TD>Workspace file has RCS keywords expanded (ID + Header only)</TD>\n" " </TR>\n" " <TR><TD><KBD>+l</KBD></TD><TD>Server allows only one user and workspace at a time to have the file opened</TD></TR>\n" " <TR><TD><KBD>+S</KBD></TD><TD>Server stores only single head revision</TD></TR>\n" " <TR><TD><KBD>+C</KBD></TD><TD>Server stores each revision as compressed binary</TD></TR>\n" " <TR><TD><KBD>+D</KBD></TD><TD>Server stores each revision as text deltas</TD></TR>\n" " <TR><TD><KBD>+F</KBD></TD><TD>Server stores uncompressed file content</TD></TR>\n" "\n" " </TABLE>\n" " <P>\n" " The following type aliases exist for backwards compatibility with earlier\n" " revisions of Perforce:\n" " <P>\n" " <TABLE BORDER=3>\n" " <TR>\n" " <TH><STRONG>Type</STRONG></TH>\n" " <TH><STRONG>Is Base Type</STRONG></TH>\n" " <TH><STRONG>Plus Modifiers</STRONG></TH>\n" " </TR>\n" " <TR>\n" " <TD><KBD>ctext</KBD></TD>\n" " <TD><KBD>text</KBD></TD>\n" " <TD><KBD>+C</KBD></TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>cxtext</KBD></TD>\n" " <TD><KBD>text</KBD></TD>\n" " <TD><KBD>+Cx</KBD></TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>ktext</KBD></TD>\n" " <TD><KBD>text</KBD></TD>\n" " <TD><KBD>+k</KBD></TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>kxtext</KBD></TD>\n" " <TD><KBD>text</KBD></TD>\n" " <TD><KBD>+kx</KBD></TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>ltext</KBD></TD>\n" " <TD><KBD>text</KBD></TD>\n" " <TD><KBD>+F</KBD></TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>tempobj</KBD></TD>\n" " <TD><KBD>binary</KBD></TD>\n" " <TD><KBD>+Sw</KBD></TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>ubinary</KBD></TD>\n" " <TD><KBD>binary</KBD></TD>\n" " <TD><KBD>+F</KBD></TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>xbinary</KBD></TD>\n" " <TD><KBD>binary</KBD></TD>\n" " <TD><KBD>+x</KBD></TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>xltext</KBD></TD>\n" " <TD><KBD>text</KBD></TD>\n" " <TD><KBD>+Fx</KBD></TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>xtempobj</KBD></TD>\n" " <TD><KBD>binary</KBD></TD>\n" " <TD><KBD>+Swx</KBD></TD>\n" " </TR>\n" " <TR>\n" " <TD><KBD>xtext</KBD></TD>\n" " <TD><KBD>text</KBD></TD>\n" " <TD><KBD>+x</KBD></TD>\n" " </TR>\n" " </TABLE>\n" ; const char *helperHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>P4Web Standard mode</FONT></B><BR>\n" "\n" "<P> P4Web in <i>Standard mode</i> runs on your local machine and allows you to \n" " manage files in your Perforce workspace. (Compare this to <a href=browseonly?ac=21>Viewer \n" " mode</a>.) With a P4Web running in Standard mode, you can use your Web browser \n" " to run Perforce commands and work with files. P4Web can sync files, open files \n" " for add, edit, delete, resolve files, submit changelists, and so forth. In Standard \n" " mode, P4Web must run on the machine where your workspace resides. For information \n" " on starting up in Standard mode, see <a href=\"index?ac=21#start\"> How to Start \n" " P4Web</a>. \n" "<P> Only you can use your P4Web in Standard mode; access to it is protected by \n" " your Perforce password. For more information, see <a href=auth?ac=21>Passwords \n" " and P4Web</a>. To enable other users to work with files, start P4Web with the \n" " -M flag. \n" ; const char *howtoHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>How To...</FONT></B><BR>\n" "\n" "<P>\n" "This page gives you a quick reference to commands that perform various\n" "Perforce tasks.\n" "(Note that the command buttons on this Help page are not operational and are for illustration only.)\n" "If you are not already familiar with basic Perforce concepts,\n" "please read <a href=\"quickstart?ac=21\">Getting Started with Perforce and P4Web</a> first.\n" "<p>\n" "To find specific information on this page, you can click on one of the following topics, or use your\n" "browser\'s Find feature.\n" "<blockquote>\n" "<a href=\"howto?ac=21#user\">Users and Passwords</a>\n" "<br><a href=\"howto?ac=21#client\">Client Workspaces</a>\n" "<br><a href=\"howto?ac=21#files\">Working with Files</a>\n" "<br><a href=\"howto?ac=21#changelists\">Changelists</a>\n" "<br><a href=\"howto?ac=21#branching\">Branching and Integration</a>\n" "<br><a href=\"howto?ac=21#jobs\">Jobs</a>\n" "<br>\n" " <a href=\"howto?ac=21#labels\">Labels</a> </blockquote>\n" "\n" "\n" "\n" "\n" "\n" "<DL> \n" " <form>\n" " <table border=1 cellpadding=5>\n" " <tr> \n" " <td colspan=2 bgcolor=\"EOEOEO\" valign=top> <A NAME=user></a> <b>Users \n" " and Passwords</b> </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Switching to a different user or Perforce \n" " server </b> </td>\n" " <td valign=top> You can switch users only if P4Web is running with its \n" " multiuser feature enabled. (<tt>-M</tt> flag). You cannot switch to \n" " a different Perforce server, because the server host and port are specified \n" " when P4Web is started. See <a href=\"index?ac=21#start\">How to Start P4Web</a> \n" " for more information. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Changing your Perforce password </b> </td>\n" " <td valign=top> Select the <B>Settings</B> tab and use the <B>Change Password \n" " </B>fields. <br>\n" " For more information, see <a href=\"edituser?ac=21\">Editing Your User \n" " Spec</a> and <a href=\"auth?ac=21\">Passwords and Authentication</a>. </td>\n" " </tr>\n" " <tr> \n" " <td colspan=2 bgcolor=\"EOEOEO\" valign=top> <A Name=client></a> <b>Client \n" " Workspaces</b> </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Editing your client workspace </b> </td>\n" " <td valign=top> Select the <B>Clients</B> tab. <br>\n" " Click on the <B>Edit current client</B> link at the top of the page. \n" " <br>\n" " For more information, see <a href=\"editclient?ac=21\">Editing Your Client \n" " Spec</a>. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Switching to a different client workspace \n" " </b> </td>\n" " <td valign=top> Select the <B>Clients</B> tab. <br>\n" " Click on a client name. <br>\n" " Click on the \"Switch to\" link at the bottom of the <a href=\"client?ac=21\">Client \n" " specification</a> page. </td>\n" " </tr>\n" " <tr> \n" " <td colspan=2 bgcolor=\"EOEOEO\" valign=top> <A NAME=files></a> <b>Working \n" " with Files</b> </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Syncing files </b> </td>\n" " <td valign=top> Click on a file name and select \n" " <select>\n" " <option>Sync... \n" " </select>\n" " <br>\n" " <I>or</I> <br>\n" " Click <img border=0 src=\"/runsyncIcon?ac=20\" align=absmiddle> (\"Sync to head \n" " revision\" shortcut) <br>\n" " For more information, see <a href=\"sync?ac=21\">Syncing Files</a>. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Submitting files </b> </td>\n" " <td valign=top> \n" " <p>Select the <b>Pending</b> tab, click on the changelist to submit, \n" " then click \n" " <input type=reset value=\"Submit\">\n" " . <br>\n" " <i>or</i> <br>\n" " Click <img border=0 src=\"/runsubmitIcon?ac=20\" align=absmiddle> (\"Submit \n" " default changelist\" shortcut) on the <b>Files</b> tab. <br>\n" " For more information, see <a href=\"submit?ac=21\">Submitting Files</a>. \n" " </p>\n" " </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Working on a particular file </b> </td>\n" " <td valign=top> Click on the file name, then use any of the menu commands \n" " or shortcut buttons on the page to operate on the current file. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Working on multiple files </b> </td>\n" " <td valign=top> Click on a folder, then use any of the menu commands or \n" " shortcut buttons on the page to operate on all the files in the current \n" " path. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Adding new files into the depot </b> </td>\n" " <td valign=top> On the <B>Files</B> tab, select \n" " <select>\n" " <option>Open for add... \n" " </select>\n" " <br>\n" " For more information, see <a href=\"add?ac=21\">Adding New Files to a Perforce \n" " Depot</a>. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Deleting depot files </b> </td>\n" " <td valign=top> On the <B>Files</B> tab, select \n" " <select>\n" " <option>Open for delete... \n" " </select>\n" " <br>\n" " <I>or</I> <br>\n" " Click <img border=0 src=\"/rundeleteIcon?ac=20\" align=absmiddle> (\"Open for \n" " delete\" shortcut) <br>\n" " For more information, see <a href=\"delete?ac=21\">Opening Files for Delete</a>. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Editing files </b> </td>\n" " <td valign=top> On the <B>Files</B> tab, select \n" " <select>\n" " <option>Open for edit... \n" " </select>\n" " <br>\n" " <I>or</I> <br>\n" " Click <img border=0 src=\"/runeditIcon?ac=20\" align=absmiddle> (\"Open for \n" " edit\" shortcut) <br>\n" " For more information, see <a href=\"edit?ac=21\">Opening Files for Edit</a>. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Integrating files </b> </td>\n" " <td valign=top> Select \n" " <select>\n" " <option>Integrate... \n" " </select>\n" " <br>\n" " For more information, see <a href=\"integrate?ac=21\">Integrating Files</a>. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Resolving files </b> </td>\n" " <td valign=top> Select \n" " <select>\n" " <option>Resolve... \n" " </select>\n" " <br>\n" " For more information, see <a href=\"resolve?ac=21\">Resolving Files</a>. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Diffing files </b> </td>\n" " <td valign=top> Click on the file that you want to diff, then use the \n" " following menu options: <br>\n" " <select>\n" " <option>Diff - workspace file vs. workspace rev \n" " </select>\n" " <br>\n" " shows the changes you\'ve made to the file in \n" " your workspace. \n" " <p> \n" " <select>\n" " <option>Diff - workspace rev vs. head rev \n" " </select>\n" " <br>\n" " diffs between the version you\'re synced to \n" " and the most recent version in the depot. \n" " <p> \n" " <select>\n" " <option>Diff - workspace file vs. head rev \n" " </select>\n" " <br>\n" " diffs between the file in your workspace \n" " and the most recent version in the depot. <br>\n" " </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Determining what files you have opened </b> \n" " </td>\n" " <td valign=top> \n" " <p>Look for the \"opened file\" icons:</p>\n" " <p><img border=0 src=\"/editIcon?ac=20\" align=absmiddle> open for edit</p>\n" " <p><img border=0 src=\"/addIcon?ac=20\" align=absmiddle> open for add</p>\n" " <p><img border=0 src=\"/deleteIcon?ac=20\" align=absmiddle> open for delete</p>\n" " <p><img border=0 src=\"/branchIcon?ac=20\" align=absmiddle> open for branch</p>\n" " <p><img border=0 src=\"/integIcon?ac=20\" align=absmiddle> open for integration<br>\n" " <i>or</i> <br>\n" " On the <B>Files</B> tab, use the <B>File Filter</B> and select any \n" " of the <B>Open files </B> <b>Action</b> menu options. <br>\n" " <i>or</i> <br>\n" " Select the <B>Pending</B> tab to view the files in your pending changelists. \n" " <br>\n" " For more information, see <a href=\"pathbrowser?ac=21\">Using the Tree \n" " View</a>. </p>\n" " </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Finding a file or a set of files</b> </td>\n" " <td valign=top> On the <b>Files</b> tab, use the <B>Files matching... \n" " </B>field in the<B> File Filter</B>. <br>\n" " For more information, see <a href=\"findfiles?ac=21\">Finding Files</a>. \n" " </td>\n" " </tr>\n" " <tr> \n" " <td colspan=2 bgcolor=\"EOEOEO\" valign=top> <A NAME=changelists></a> <b>Changelists</b> \n" " </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Creating a numbered pending changelist </b> \n" " </td>\n" " <td valign=top> Click <img border=0 src=\"/runsubmitIcon?ac=20\" align=absmiddle> \n" " (\"Submit default changelist\" shortcut), then click \n" " <input type=reset value=\"Create Changelist\">\n" " . <br>\n" " For more information, see <a href=\"editpending?ac=21\">Editing a Pending \n" " Changelist</a>. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Submitting a numbered pending changelist \n" " </b> </td>\n" " <td valign=top> Select the <B>Pending</B> tab, click on the changelist \n" " to submit, and click \n" " <input type=reset\n" " value=\"Submit\">\n" " . <br>\n" " For more information, see <a href=\"editpending?ac=21\">Editing a Pending \n" " Changelist</a>. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Moving files between changelists </b> </td>\n" " <td valign=top> Select the <B>Pending</B> tab. <br>\n" " Click on the changelist containing the file that you want to move. <br>\n" " Select the files that you want to move. <br>\n" " Select the target changelist and click the<B> Move to Changelist </B>button. \n" " <br>\n" " For more information, see <a href=\"editpending?ac=21\">Editing a Pending \n" " Changelist</a>. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Adding a job to a pending changelist </b> \n" " </td>\n" " <td valign=top> Select the <B>Pending</B> tab. <br>\n" " Click on the desired changelist. <br>\n" " In the <b>Jobs</b> field, enter the jobs you want to add. <br>\n" " Jobs can only be added to numbered changelists, so if it\'s the default \n" " changelist, click <b>Create Changelist</b>. <br>\n" " For more information, see <a href=\"editpending?ac=21\">Editing a Pending \n" " Changelist</a>. \n" " <tr> \n" " <td colspan=2 bgcolor=\"EOEOEO\" valign=top> <A NAME=branching></a> <b>Branching \n" " and Integration</b> </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Creating a branch spec </b> </td>\n" " <td valign=top> Select the <B>Branches</B> tab. <br>\n" " Click the <B>Create branch spec</B> link at the top of the page. <br>\n" " For more information, see <a href=\"editbranch?ac=21\">Creating and Editing \n" " Branches</a>. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Editing a branch spec </b> </td>\n" " <td valign=top> Select the <B>Branches</B> tab and click on the name of \n" " the branch. <br>\n" " Select \n" " <select>\n" " <option>Edit branch spec...</option>\n" " </select>\n" " <br>\n" " For more information, see <a href=\"editbranch?ac=21\">Creating and Editing \n" " Branches</a>. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top> <b>Deleting a branch spec</b> </td>\n" " <td valign=top> Select the <B>Branches</B> tab and click on the name of \n" " the branch. <br>\n" " Select \n" " <select>\n" " <option>Delete branch spec</option>\n" " </select>\n" " </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top> <b>Integrating files</b> </td>\n" " <td valign=top> On the <b>Files</b> tab, select \n" " <select>\n" " <option>Integrate...</option>\n" " </select>\n" " <br>\n" " For more information, see <a href=\"integrate?ac=21\">Integrating Files</a>. \n" " <tr> \n" " <td colspan=2 bgcolor=\"EOEOEO\" valign=top> <A NAME=jobs></a> <b>Jobs</b> \n" " </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Creating a job </b> </td>\n" " <td valign=top> Select the <B>Jobs</B> tab. <br>\n" " Click the <B>Create job</B> link at the top of the page. <br>\n" " For more information, see <a href=\"editjob?ac=21\">Creating and Editing \n" " Jobs</a>. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Editing a job </b> </td>\n" " <td valign=top> Select the <B>Jobs</B> tab and click on the name of the \n" " job. <br>\n" " Select \n" " <select>\n" " <option>Edit job...</option>\n" " </select>\n" " <br>\n" " For more information, see <a href=\"editjob?ac=21\">Creating and Editing \n" " Jobs</a>. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Deleting a job </b> </td>\n" " <td valign=top> Select the <B>Jobs</B> tab and click on name of the job. \n" " <br>\n" " Select \n" " <select>\n" " <option>Delete job</option>\n" " </select>\n" " <tr> \n" " <td colspan=2 bgcolor=\"EOEOEO\" valign=top><A NAME=labels></a> <b>Labels</b> \n" " </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Creating a label spec </b> </td>\n" " <td valign=top> Select the <B>Labels</B> tab. <br>\n" " Click the <B>Create label spec</B> link at the top of the page. <br>\n" " For more information, see <a href=\"editlabel?ac=21\">Creating and Editing \n" " Labels</a>. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Tagging files with a label </b> </td>\n" " <td valign=top> Select the <B>Labels</B> tab and click on name of the \n" " label. <br>\n" " Select \n" " <select>\n" " <option>Add/Replace files...</option>\n" " </select>\n" " to tag the files with that label. <br>\n" " For more information, see <a href=\"editlabel?ac=21\">Creating and Editing \n" " Labels</a>. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Editing a label spec </b> </td>\n" " <td valign=top> Select the <B>Labels</B> tab and click on name of the \n" " label. <br>\n" " Select \n" " <select>\n" " <option>Edit label spec...</option>\n" " </select>\n" " <br>\n" " For more information, see <a href=\"editlabel?ac=21\">Creating and Editing \n" " Labels</a>. </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Deleting a label </b> </td>\n" " <td valign=top> Select the <B>Labels</B> tab and click on name of the \n" " label. <br>\n" " Select \n" " <select>\n" " <option>Delete label</option>\n" " </select>\n" " </td>\n" " </tr>\n" " </table>\n" " </form>\n" "</DL>\n" "\n" "\n" ; const char *jobHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Working with Jobs</FONT></B><BR> A <i>job</i> is a description of a task. Jobs provide a method of keeping track \n" "of information, such as what changes to the source are needed, which user is responsible \n" "for implementing the job, and which file revisions contain the implementation \n" "of the job. \n" "<p> The type of information tracked by the jobs system can be customized, using \n" " the <A HREF=\n" "\"jobfields?ac=21\">jobspec</a>. Fields in the jobspec form can be added, changed, \n" " and deleted by Perforce superusers, using the Perforce command-line client. \n" "<p> Using <A HREF=\"editpending?ac=21\">changelists</a>, you can associate files \n" " with jobs, so that you can see which files were revised while working on a particular \n" " job. For instance, if a job involves fixing a bug, and several files were changed \n" " during that fix, you can refer to that job later to see which files were changed. \n" "<p>\n" "See <A HREF=\"editjob?ac=21\">Creating and Editing Jobs</a> for additional information.\n" "<P>\n" "<b>Accessing jobs</b>\n" "<P> Click the <b>Jobs</b> tab to access jobs by name. Click on any job in the \n" " list to see more information about that job. While you are viewing a specific \n" " job, the <b>Action</b> menu at the top of the page has these additional options: \n" "<ul>\n" " <li><b>View fixes for job:</b> Lists any changelists that contain <i>fixes</i> \n" " for this job. A \"fix\" means that the job has been completed. \n" " <li><b>View field descriptions:</b> Displays details about the individual fields \n" " in the Jobs list. For more information, see <A\n" "HREF=\"jobfields?ac=21\">Job Field Descriptions</A>. \n" "</ul>\n" "<p><b>Fixing jobs</b>\n" "<p>To fix a job (that is, change its status), you attach it to a changelist, to \n" " indicate that the files submitted in the changelist contain the changes required \n" " to complete the work required by the job. If you attach a job to a pending changelist, \n" " the job is fixed when you submit the changelist. If you attach a job to a submitted \n" " changelist, the job status is changed immediately.\n" "<p>To fix a job:</p>\n" "<ul>\n" " <ol type=1>\n" " <li>Browse to the pending or submitted changelist page.</li>\n" " <li>Click the link to the changelist that fixes the job. The changelist is \n" " displayed.</li>\n" " <li>From the dropdown list, choose <b>Add Job to Changelist...</b> A list \n" " of open jobs is displayed.</li>\n" " <li>Click the job you want to fix. The changelist is redisplayed, listing \n" " the selected job.</li>\n" " <li>Click <b>Add Jobs</b>. </li>\n" " <li>Optional: select the desired job status from the dropdown list below the \n" " job list.</li>\n" " </ol>\n" "</ul>\n" "<p><b>Customizing the Jobs view</b> \n" "<p>\n" "You can customize your view of the Jobs page by using the constraints listed at the top of the\n" "page next to the <b>Filter</b> button. You\n" "can customize the following options:\n" "<p>\n" "<p>\n" "<ul>\n" " <li> The list is sorted alphabetically. To choose the sort order, click <b> \n" " highest</b> or <b>lowest</b>. \n" " <p> \n" " <li>To specify the number of jobs that you see in the Jobs list, enter the desired \n" " number in the <b> jobs</b> text box. \n" " <p> \n" " <li>To see only the jobs that are fixed by edits to files in a specified path:\n" "<ol type=1>\n" " <li>Navigate to the desired path. <br>\n" " <li>Click the <b>Jobs</b> tab. <br>\n" " \n" " <li>On the Jobs list, check the <b>if fixed in this path</b> checkbox. <p> \n" " </ol>\n" " \n" " <li>To include jobs whose files have been integrated into files in this path, \n" " check the <b>including integrated files</b> checkbox. \n" " <p> \n" " <li>You can limit your view of jobs to those that match particular criteria \n" " using <b>Jobview</b>. \n" " <p> \n" " <li>You can select which fields are displayed in this view by selecting the \n" " desired fields from the <b>Visible Fields</b> list. <br>\n" " <ul>\n" " <li>To select more than one field in this list, hold down the Ctrl key while \n" " selecting the desired fields. <br>\n" " <li>To select several fields concurrently, hold down the Shift key while \n" " selecting. \n" " \n" " </ul>\n" "</ul>\n" "<p> To save your preferences, <A HREF=\n" "\"tips?ac=21#bookmarks\">bookmark</A> the page.\n" ; const char *jobfieldsHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Job Field Descriptions</FONT></B><BR>\n" "\n" "<P> The jobspec defines the fields used for creating and editing <A HREF=\n" "\"defs?ac=21#job\">jobs</A>. The comments in the jobspec describe each field, including \n" " what it\'s used for and its valid values. \n" "<p>\n" "To view the jobspec, select <b>View field descriptions</b> from the pulldown menu while viewing\n" "any job.\n" "<p> Only a Perforce superuser can add or edit these job fields. For more information \n" " on editing the jobspec, see the <i>Perforce System Administrator\'s Guide</i>. \n" "<p>\n" "\n" "\n" "\n" ; const char *launcheditorHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Launching An Editor</FONT></B><BR>\n" "\n" "<p> P4Web lets you launch an external editor to work on files. To launch the editor \n" " on a selected file, choose <b>Edit file</b> from the <b>Action</b> menu . \n" "<p> The <b>Edit</b> option in the interactive <a href=\"resolve?ac=21\">resolve</a> \n" " program also launches an external editor. \n" "<p> The <tt>P4EDITOR</tt> configuration setting is used to determine which program \n" " to launch. If <tt>P4EDITOR</tt> was not set in your environment when the <b>p4web</b> \n" " executable was started up, a default editor is launched. You can change <tt>P4EDITOR</tt> \n" " in your environment while running <b>p4web</b>; it will use the updated editor \n" " that you have specified. For more information about <tt>P4EDITOR</tt>, please \n" " see the the <i>P4 Command Reference</i> on the <a href=\"http://www.perforce.com/perforce/technical.html\">Perforce \n" " Technical Documentation</a> page. \n" "<p>\n" "Note that:\n" "<ul>\n" " <p> \n" " <li> Only the Windows, Unix, and Macintosh versions of P4Web can launch external \n" " editors. \n" " <p> \n" " <li> On Unix, the Edit File feature launches whichever editor <tt>P4EDITOR</tt> \n" " is set to. If you don\'t have <tt>P4EDITOR</tt> set to any particular editor, \n" " it will launch an Xterm window and run vi. You may also specify Xterm as your \n" " <tt>P4EDITOR</tt>. If you\'re familiar with X Windows, you can make use of \n" " Xterm to edit files on a remote machine. You don\'t have to be logged onto \n" " the machine where the workspace files are as long as you have a <b>p4web</b> \n" " executable running on that machine. \n" " <p> On Windows and Macintosh, P4Web launches an external editor only if your \n" " browser and the <b>p4web</b> executable are running on the same machine.You \n" " can\'t use P4Web\'s <b>Edit File</b> feature to edit files in a workspace \n" " on a remote machine. \n" " <p> \n" " <li> If your <tt>P4EDITOR</tt> is set to a windowing application, P4Web launches \n" " that application, opening up a new window on your workstation. \n" " <p> \n" " <li> If your <tt>P4EDITOR</tt> is set to a console application, or if it is \n" " not set and the default editor is a console application, P4Web behaves as \n" " follows: \n" " <ul>\n" " <li> On Windows, a <b>cmd</b> window is opened and the editor application \n" " is started in that window. \n" " <li> On Unix, an <b>xterm</b> window is opened and the editor application \n" " is started in that window. \n" " </ul>\n" "</ul>\n" "\n" "\n" "\n" "\n" ; const char *labelHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Working with Labels</FONT></B><BR>\n" "\n" "A <i>label</i> enables you to mark a set of file revisions for later access. \n" "For example, release engineers can label the file revisions that comprise a particular \n" "release of their program. The label can be assigned a meaningful name, like <tt>release2.0.1</tt>. \n" "The label can be used for <A HREF=\"sync?ac=21\">syncing</a>, <A HREF=\"branch?ac=21\">branching</a>, \n" "or comparing files. \n" "<p> To create a label, you must: \n" "<ol type=1>\n" " <li>Create the label spec, which defines the name of the label and the <a href=\"defs?ac=21#labelview\">label \n" " view</a>. The label view limits the files that can be tagged with the label. \n" " <li>Perform an <a href=\"labelsync?ac=21\">Add/Replace files...</a> to apply the \n" " label to specigied file revisions. \n" "</ol>\n" "After you have created the label spec and tagged the revisions using <B>Add/Replace \n" "files</B>, you can use that label to access those files at a later date. See <a href=\"editlabel?ac=21\">Creating \n" "and Editing Labels</a> for additional information. \n" "<p>\n" "<b>Accessing labels</b>\n" "<P> To list labels, click the <B>Labels</B> tab. To display only the labels that \n" " contain tagged files in your current path, select the <b>Labels with files in \n" " current path</b> checkbox and click <B>Filter</B>. \n" "<p>\n" "<b>Label Spec Detail</b>\n" "<P> Clicking on a label name displays detailed information, including the label \n" " spec\'s fields. For information about these fields, see <a href=\"editlabel?ac=21\">Creating \n" " and Editing Labels</a>. \n" "<P> To list the files tagged by the current label, including each file\'s path \n" " in the depot, the filetype, and the revision number of the file, choose <b>View \n" " files in label</b> from the <b>Action</b> menu \n" "<p> From this page, you can use also use the <b>Action</b> menu to: \n" "<ul>\n" "<li><A HREF=\"editlabel?ac=21\">Edit</A> the label spec.\n" "<li><A HREF=\"deletespec?ac=21\">Delete</A> the label spec.\n" "<li><A HREF=\"labelsync?ac=21\">Add or Replace </A> files in a label.\n" "<li> <A HREF=\"sync?ac=21\">Sync</A> the workspace to the files tagged with this label.\n" "<li>Create a new label, using this label as a <A HREF=\"editlabel?ac=21\">template</A>.\n" "</ul>\n" "For information on creating a label without using a template, see <A HREF=\"editlabel?ac=21\">Creating \n" "and Editing Label Specs</A>. <A NAME=changelist></a> \n" "<h4>Why not use changelist numbers?</h4>\n" "<p> <a href=\"label?ac=21#changelist\">Changelist numbers</a> are an alternative \n" " to labels, if you need to refer to a group of files. Labels share certain important \n" " characteristics with changelist numbers, as both refer to particular file sets, \n" " and both refer to all the files in the set. But labels have some important advantages \n" " over changelist numbers: \n" "<ul>\n" "<li>The file revisions tagged by a particular label can come from different changelists.\n" " <li>A changelist number refers to the contents of all the files in the depot at \n" " the time the changelist was submitted, but a label can refer to an arbitrary \n" " set of files and revisions. \n" " <li>The files and revisions tagged by a label can be changed at any point in the labels existence.\n" "<li>Changelists are always referred to by Perforce-assigned numbers, but labels are named by the user.\n" "</ul>\n" "\n" "\n" "\n" ; const char *labelsyncHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Adding and Replacing Files in a Label</FONT></B><BR>\n" "\n" "<P>\n" "<P>\n" "There are essentially two steps to creating a label:\n" "<ol type=1>\n" "<li>Create the label spec, which defines the name of the label and <a href=\"defs?ac=21#labelview\">label view</a>.\n" "<li>Tag the files with that label using <B>Add/Replace files...</B>\n" "</ol>\n" "<B>Add/Replace files...</B> tags a set of files with a label. Once you have tagged them, you can refer to a set of files by their label\n" "name. <P>\n" "<P>\n" "\n" "For more information about labels, see <A HREF=\"label?ac=21\">Working with Labels</a>.\n" "<p>\n" "<h4>Add/Replace restrictions</h4>\n" "Bear in mind that you <i>cannot</i> use <B>Add/Replace files</B> to update a label if:\n" "<ul>\n" "<li>The label\'s <b>Owner:</b> field is not your userid. You can only update labels you own.\n" "<li>The label has its <b>Options:</b> field set to <i>locked</i>\n" "</ul>\n" "For more information about a label\'s fields, see <A HREF=\"editlabel?ac=21\">Creating and Editing Labels</A>.\n" "<p>\n" "\n" "<h4>To Add/Replace files in a label</h4>\n" "<ol type=1>\n" "<li>Select the <b>Labels</b> tab.\n" "<li>Click on the name of the label to which you want to add or replace files.\n" "<li>Select <b>Add/Replace labels...</b> from the pulldown list.\n" "</ol>\n" "<b>On the Add/Replace Files page</b> \n" "<ol>\n" "<li>Under <b>Revision:</b> select one of the following radio buttons:\n" "<ul>\n" "<li><b>Workspace Revision</b>: tags the file revisions currently synced in your workspace with the label.\n" "<li><b>Head Revision</b>: tags the file revisions that are currently the latest versions in the depot with the label.\n" "<li><b>Label, Changelist or Date</b>: enter a label name, a changelist number, or a date to tag files at revisions matching that criteria.\n" "</ul>\n" "<p>\n" "<li>Under <b>Options:</b> select one of the following radio buttons:\n" "<ul>\n" "<li><b>Replace label contents completely</b>: specified files are added or replaced. Files previously in the label that do not match your\n" "specification are removed from the label.\n" "<li><b>Add files to label</b>: adds or replaces only the files that you specify. Labeled files that do not match your specifications are\n" "unaffected.\n" "<li><b>Remove files from label</b>: removes the named files from the label.\n" "</ul>\n" "<p>\n" "<li>Under <b>Files:</b> you can specify or restrict the files to add or replace. Select one of the following options:\n" "<ul>\n" "<li><b>All files in label view</b>: includes all files in this label\'s <A HREF=\"defs?ac=21#labelview\">label view</a>.\n" " <li><b>Files in <i>[path]</i></b>: this option is only available when your \n" " current path is not the root of the depot tree. Select <b>and subdirectories</b> \n" " or <b>at this level only</b>, depending on which files you want to include. \n" " \n" " <li><b>Files in this list</b>: includes only the files listed in the textbox. \n" " You must provide a full pathname for these files, and you can use <A HREF=\"defs?ac=21#wildcard\">wildcards</a>. \n" " Note that the files you specify must be in the label\'s view, or P4Web \n" " displays a \"No such file\" error. You can also specify revisions if you \n" " have selected the <b>Workspace Revision</b> option. \n" " </ul>\n" "<p>\n" "<li>When you have finished defining the parameters,\n" "click the <b>Preview Add/Replace</b> button to see the results before actually updating the label. If the\n" "command has the expected results, click your browser\'s \"Back\" button and click the <b>Add/Replace</b> button to proceed.\n" "\n" "</ol>\n" "\n" ; const char *lockHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Locking Files</FONT></B><BR>\n" "\n" "<P> The <B>Lock</B> command enables you to lock one or more of your <a href=\"defs?ac=21#openedfiles\">opened \n" " files</a>. Only files opened by you in the current worksapce can be locked. \n" " (See also <a href=\"unlock?ac=21\">Unlocking Files</a>.) When a file is locked, \n" " only the user who locked the file can submit changes to that file. Other users \n" " can open locked files in their workspaces, but they can\'t submit changelists \n" " that include locked files. \n" "<P> <B>To lock one particular file:</B> \n" "<OL>\n" " \n" " <LI> Click the file that you want to lock. \n" " <LI> Select <b>Lock</b> from the <b>Action</b> menu. The file is locked. \n" "</OL>\n" "\n" "<B>To select more than one file to lock:</B> \n" "<OL>\n" " <LI> On the <B>Files</B> tab, select the directory that contains the files you \n" " want to lock. <lo> Select <B>Lock...</B> from the <b>Action</b> menu. P4Web \n" " displays a form that lets you choose files to lock. \n" " <LI> Select the files you want to lock. \n" " <li>Click the <B>Lock</B> button. The files are locked. \n" "</OL>\n" "\n" "\n" "<h4>The Lock Form</h4>\n" "\n" "<p> Selecting <b>Lock...</b> from the pulldown menu on the <b>Files</b> tab displays \n" " a form that lets you select files to lock. \n" "<p> If you have more than one <a href=\"pendingchangelists?ac=21\">pending changelist</a>, \n" " you can choose to lock only the files associated with one changelist. To do \n" " this, check <b>Lock files in changelist</b>, select the changelist you want, \n" " and click <b>Lock</b>. This option locks the files in the selected changelist \n" " regardless of whether the files are in the current path. Alternatively, you \n" " can choose to restrict files to lock by path, or by selecting from a checklist. \n" " For more information, see <a href=\"restrictfiles?ac=21\">Restricting Files Used \n" " in Commands</a>. \n" ; const char *pathbrowserHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Using The Tree view</FONT></B><BR>\n" "\n" "<P> The <B>Tree view</B> is the page P4Web shows you when you first connect. It\'s \n" " where you\'ll spend most of your time in P4Web. You can use it to navigate through \n" " path hierarchies and run commands that affect all the files in the current path \n" " at once. (If you are using P4Web in <a href=\"browseonly?ac=21\">Viewer mode</a> \n" " instead of <a href=\"helper?ac=21\">Standard mode</a>, only a subset of commands \n" " are available to you.) \n" "<p>\n" "<table border=0 align=right cellpadding=5 cellspacing=5 bgcolor=#eeeeee>\n" "<tr><th><img src=\"/recentactivityIcon?ac=20\" alt=\"Show/Hide Recent Activity\" border=1><br>\n" "<font size=-3>\"Show/Hide Recent Activity\"</font>\n" "</th></tr>\n" "</table>\n" "The <a href=\"controlpanel?ac=21\">control panel</a> offers <a href=\"pathbrowser?ac=21#menus\">menus</a> \n" "and <a href=\"pathbrowser?ac=21#shortcuts\">shortcut buttons</a>, described below. \n" "Click <b>Show Recent Activity</b> to display the most recent <a href=\"defs?ac=21#changelist\">changelists</a> \n" "affecting the files in the current path. \n" "<p> The current path is shown at the top of the tree. Each level in the current \n" " path heading is a link. Use these links to navigate back up the path hierarchy. \n" " Files and subdirectories in that appear beneath the heading are links to directories \n" " and files. Click those links to navigate down the path hierarchy. \n" "<p>\n" "You can browse either\n" "<a href=\"defs?ac=21#depot\">depot</a> or\n" "<a href=\"defs?ac=21#workspace\">workspace</a> paths in the Tree view.\n" "See\n" "<a href=\"browsemodes?ac=21\">Depot Browsing vs. Workspace Browsing</a> to find\n" "out what the difference is, why each is useful, and how to switch between them.\n" "\n" "<p> Though the Tree view can display individual files, you can\'t run commands \n" " on individual files from here. You must click on the individual file to run \n" " commands on it, using the <a href=\"filebrowser?ac=21\">File view</a>. \n" "<p>\n" "Files shown in the Tree view have\n" "<a href=\"pathbrowser?ac=21#icons\">state icons</a> showing\n" "their current state in the depot and in your workspace;\n" "see below for a key to their meanings.\n" "\n" "<a name=menus>\n" "<h4>File operation menu</h4>\n" "</a> \n" "<P> The <b>Action</b> menu at the top of the page allows you to work on files \n" " in the current path. To specify whether commands are run on all or selected \n" " files in the current path, select the directory or a file before running the \n" " command. \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr>\n" " <td><a href=\"sync?ac=21\">Sync...</a></td>\n" " <td>Synchronizes your workspace files with newer (or older) depot files. </td>\n" " </tr>\n" " <tr>\n" " <td><a href=\"remove?ac=21\">Remove from workspace</a> </td>\n" " <td>Removes files from your workspace without affecting depot files.</td>\n" " </tr>\n" " <tr>\n" " <td><a href=\"edit?ac=21\">Open for edit...</a></td>\n" " <td>Makes your workspace files writable so you can work on them. </td>\n" " </tr>\n" " <tr>\n" " <td><a href=\"add?ac=21\">Open for add...</a> </td>\n" " <td>Adds new files to the depot. </td>\n" " </tr>\n" " <tr>\n" " <td><a href=\"delete?ac=21\">Open for delete...</a></td>\n" " <td>Deletes depot files and removes them from your workspace. </td>\n" " </tr>\n" " <tr>\n" " <td><a href=\"revert?ac=21\">Revert...</a></td>\n" " <td>Discards changes to opened files and close files without submitting them \n" " to the depot. </td>\n" " </tr>\n" " <tr>\n" " <td><a href=\"filetype?ac=21\">Change filetype...</a></td>\n" " <td>Opens files so they can be submitted to the depot with a different filetype. \n" " </td>\n" " </tr>\n" " <tr>\n" " <td><a href=\"integrate?ac=21\">Integrate...</a></td>\n" " <td>Branch files or propogate changes between branched files.</td>\n" " </tr>\n" " <tr>\n" " <td><a href=\"resolve?ac=21\">Resolve...</a> </td>\n" " <td>Reconcile your changes with changes made by other users.</td>\n" " </tr>\n" " <tr>\n" " <td><a href=\"lock?ac=21\">Lock...</a></td>\n" " <td>Prevent other people from updating depot files you have opened.</td>\n" " </tr>\n" " <tr>\n" " <td><a href=\"unlock?ac=21\">Unlock...</a> </td>\n" " <td>Releases locks on your opened files. </td>\n" " </tr>\n" "</table>\n" "<p> If you are in <a href=\"browsemodes?ac=21\">workspace browsing</a> mode, the \n" " tree displays all the files in your workspace, including those not managed by \n" " Perforce. (You\'ll recognize the Perforce-managed files by their <a href=\"pathbrowser?ac=21#icons\">icons</a>.) \n" " With the exception of<b> Open for add...</b>, the commands in the <b>Action</b> \n" " menu operate only on Perforce-managed files.\n" "<p>\n" "<h4>File filter</h4>\n" " The file filter allows you to display various information about files at \n" "or below the current path level. After making filter selections, click <B>Filter</B> \n" "to display the results. \n" "<ul>\n" " <p>\n" "<li>You can select the following options from the first filter pull-down menu:\n" " <UL>\n" " <LI><B>No Filter</B>: lists files present at the current path level, plus \n" " any files you have <a href=\"defs?ac=21#openedfiles\">open</a> in subdirectories \n" " of the current path. \n" " <LI><B>Hide files in subfolders</B>: lists only directories, not the files \n" " in them. \n" " <LI><B>Opened files - all clients</B> : lists files opened in other client \n" " workspaces as well as in your own. (To see who has a particular file opened, \n" " click on the file name. This takes you to the File Browser page, where \n" " file state details are displayed.) \n" " <LI><B>Opened unchanged files</B>: lists files you have opened but have \n" " not changed. \n" " <LI><B>Changed unopened files</b>: lists files you have changed without \n" " having opened them first with Perforce. \n" " <LI><B>Submitted Changelists</B>: lists all submitted changelists affecting \n" " files in the current path, with links to more info about them. \n" " <LI><B>Files missing from workspace</B> - shows files that were synced in your workspace but are missing now. (That is, they were removed by something outside of Perforce\'s control.)\n" " <LI><B>Unsynced files</B>: lists your workspace files that are not <a href=\"sync?ac=21\">synced</a> \n" " to head revisions. \n" " <LI><B>Unresolved files</B>: lists the files that need <a href=\"resolve?ac=21\">resolving</a>, \n" " either because you have them opened for integrate, or because you re-synced \n" " files after opening them for edit. \n" " </UL>\n" " <p>\n" " <LI>The <B>Files matching...</B> option lets you <a href=\"findfiles?ac=21\">find \n" " files</a> whose names match a pattern you specify. Click <b>Include subfolders</b> \n" " to search directories below the current path. \n" " <p>\n" "</ul>\n" "If you in <a href=\"browsemodes?ac=21\">depot browsing</a> mode, you have two additional filter options:\n" "<ul>\n" " <li><b>Show deleted files</b>: displays files that have been deleted in the \n" " depot. \n" " <li><b>Show only files in client view</b>: list only files in your <a href=\"editclient?ac=21\"> \n" " client view</a>. \n" "</ul>\n" "<a name=shortcuts><h4>Shortcut Buttons</h4> \n" "</a> The Path Browser\'s shortcut buttons give you quick links to these common \n" "operations: \n" "<table width=\"33%\" border=\"1\" cellpadding=\"1\">\n" " <tr>\n" " <td><img src=\"/gotreeIcon?ac=20\" border=1></td>\n" " <td>Displays the Tree view</td>\n" " </tr>\n" " <tr>\n" " <td><img src=\"/runsyncIcon?ac=20\" border=1></td>\n" " <td><a href=\"defs?ac=21#sync\">Sync</a> files in this path to head revisions. \n" " Copies updated files from the <a href=\"defs?ac=21#depot\">depot</a> into your \n" " workspace. </td>\n" " </tr>\n" " <tr>\n" " <td><img src=\"/runsubmitIcon?ac=20\" border=1></td>\n" " <td>Submit your default changelist. You can select all or some of the files \n" " open in the default changelist, enter a change description, and submit the \n" " files to the depot. </td>\n" " </tr>\n" " <tr>\n" " <td><img src=\"/runrevertIcon?ac=20\" border=1></td>\n" " <td>Reverts all files you\'ve opened in the current path, but have not changed \n" " since opening. (This will not revert any files opened for add or delete, \n" " or on which you have done a resolve.)</td>\n" " </tr>\n" " <tr>\n" " <td><img src=\"/recentactivityIcon?ac=20\" border=1></td>\n" " <td>Toggle display of recent activity in the control panel. </td>\n" " </tr>\n" " <tr>\n" " <td><img src=\"/cancelIcon?ac=20\" border=1></td>\n" " <td>Cancels your last server request. </td>\n" " </tr>\n" "</table>\n" "\n" " \n" "\n" "<a name=icons>\n" "<h4>File state icons</h4>\n" "</a> \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td rowspan=\"2\"><b>Files that are up-to-date</b></td>\n" " <td><img src=\"/syncedIcon?ac=20\"\n" " alt=\"at head revision\"></td>\n" " <td>The file in your workspace file is in sync with the head revision of the \n" " depot file. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/syncednoneIcon?ac=20\"\n" " alt=\"not in workspace\"></td>\n" " <td>The file has been deleted in the depot and is not present in your workspace. \n" " (You must have \"Show deleted files\" set to see this state.) </td>\n" " </tr>\n" " <tr> \n" " <td rowspan=\"6\"><b>Files open in your current client workspace</b></td>\n" " <td><img src=\"/editIcon?ac=20\"\n" " alt=\"opened for edit\"></td>\n" " <td>The file is open for edit in your workspace. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/addIcon?ac=20\"\n" " alt=\"opened for add\"></td>\n" " <td>The file is open for add in your workspace. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/deleteIcon?ac=20\"\n" " alt=\"opened for delete\"></td>\n" " <td>The file is open for delete in your workspace. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/integIcon?ac=20\"\n" " alt=\"opened for integ\"></td>\n" " <td> The file is open for integrate in your workspace. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/branchIcon?ac=20\"\n" " alt=\"opened for integ\"></td>\n" " <td>The file is open for branch in your workspace. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/lockedIcon?ac=20\"\n" " alt=\"locked\"></td>\n" " <td>The file is locked in your workspace. </td>\n" " </tr>\n" " <tr> \n" " <td rowspan=\"2\"><b>Files that you won\'t be able to submit until you\'ve performed \n" " some action on them</b></td>\n" " <td><img src=\"/syncIcon?ac=20\"\n" " alt=\"needs sync\"></td>\n" " <td>The file needs to be re-synced before you can submit it. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/resolveIcon?ac=20\"\n" " alt=\"needs resolve\"></td>\n" " <td>The file needs to be resolved with changes either from a later revision \n" " of the same file or from the file that\'s being integrated to it. </td>\n" " </tr>\n" " <tr> \n" " <td rowspan=\"5\"><b>Information that is independent of the state of your workspace</b></td>\n" " <td><img src=\"/theiropenIcon?ac=20\"\n" " alt=\"opened by other clients\"></td>\n" " <td>The file is also open in another client workspace. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/theirlockIcon?ac=20\"\n" " alt=\"locked by another client\"></td>\n" " <td>The file has been locked in another client workspace. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/headdeletedIcon?ac=20\"\n" " alt=\"head revision deleted\"></td>\n" " <td>The head revision of the file has been deleted. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/subdirIcon?ac=20\"\n" " alt=\"in subdirectory\"></td>\n" " <td>The file lives in a subdirectory below the current path. </td>\n" " </tr>\n" " <tr> \n" " <td><img src=\"/unmappedIcon?ac=20\"\n" " alt=\"not in client view\"></td>\n" " <td>The file is not mapped in your client view. (You must have \"Show entire \n" " depot view\" set to see this state.) </td>\n" " </tr>\n" "</table>\n" "<P>\n" "\n" "\n" "<a name=fstat>\n" "<h4>File state details</h4>\n" "</a>\n" "\n" "<p> Each file shown in the tree view is followed by details in the following format: \n" "<blockquote><tt>#[<i>have</i>]/[<i>head</i>] [<i>filetype</i>]</tt></blockquote>\n" "\n" "For example, the file state \"#4/6 text+x\"\n" "means that the revision you have in your workspace is #4,\n" "the head revision of the file is #6, and its\n" "<a href=\"filetype?ac=21\">filetype</a> is \"executable text\".\n" ; const char *pendingchangelistsHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Working with Pending Changelists</FONT></B><BR>\n" "\n" "<p>\n" "A <i>pending changelist</i> stores information about files you\n" "are working on. There are two kinds of pending changelists:\n" "the <i>default</i> changelist, and <i>numbered</i> pending\n" "changelists.\n" "Your workspace automatically has one default changelist.\n" "You can optionally create one or more\n" "numbered pending changelists in your workspace.\n" "<p>\n" "To see a list of your pending changelists, click on the\n" "<b>Pending Changelists</b> tab.\n" "\n" "Click on any changelist\n" "on this page\n" "to view detailed information about it. From there you can edit the changelist, move files from it to another\n" "pending changelist, submit the changelist, or delete it. For more information about these tasks, see <a href=\"editpending?ac=21\">Editing a Pending Changelist</a>.\n" ; const char *removeHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Removing Files from Your Workspace</FONT></B><BR>\n" "\n" "<p>\n" "To remove files Perforce-managed files from your workspace, select <b>Remove from workspace </b> \n" "from the pulldown menu on the Files tab.\n" "<p> <B>To remove multiple files:</B> \n" "<OL>\n" " \n" " <LI>Click the <B>Files</B> tab. \n" " <LI>Select the directory that contains the files that you want to remove. \n" " <li>Select <B>Remove from workspace...</B> from the <b>Action</b> menu. \n" " <li>Choose the files to be removed. See <a href=\"restrictfiles?ac=21\">Restricting \n" " Files Used in Commands</a> for more information. The form also enables you \n" " to preview the file removal. \n" "</OL>\n" "\n" "<p> <B>To remove a single file:</B> \n" "<p>\n" "<OL>\n" " \n" " <LI>Click the <B>Files</B> tab. \n" " <LI>Click the file that you want to remove. \n" " <li>Select <b>Remove from workspace</b> from the <b>Action</b> menu. \n" "</OL>\n" "\n" "<p> Only unopened files are removed. <a href=\"defs?ac=21#openedfiles\">Opened files</a> \n" " must be <a href=\"submit?ac=21\">submitted</a> or <a href=\"revert?ac=21\">reverted</a> \n" " first before P4Web can remove them from your workspace. \n" "<p> If you use any other means of removing Perforce-managed files—simply \n" " erasing them, for example—the Perforce metadata about your workspace will \n" " be incorrect. To reconcile Perforce\'s metadata with the actual state of your \n" " workspace, use the <b>Remove from workspace</b> command on files you\'ve erased. \n" " To find out which files you erased:\n" "<OL>\n" " \n" " <LI>Click the <B>Files</B> tab. \n" " <LI>Click the first radio button in the <B>File Filter </B>box.\n" " <LI>From that pulldown menu, select <b>Files missing from workspace</b>.\n" " <li>Click the <B>Filter</B> button.\n" "</OL>\n" "\n" ; const char *resolveHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Resolving Files</FONT></B><BR>\n" "\n" "<p> The <b>resolve</b> command tells Perforce how to combine changes between files, \n" " and to merge file content, if desired. You can run <b>resolve</b> only on open \n" " files and only if they need resolving. P4Web uses the \"<img border=none src=\"/resolveIcon?ac=20\">\" \n" " icon to show you which of your open files need to be resolved.\n" "If you came to the \"Resolve\" options page by selecting a directory first, \n" " you can <a href=\"restrictfiles?ac=21\">restrict</a> the files to be resolved. \n" "<p>\n" "There are two situations that require files to be resolved:\n" "\n" "<ol>\n" "<p>\n" " <li> You have files <a href=\"edit?ac=21\">open for edit</a> and there are newer \n" " versions of the files in the depot. As soon as you re-<a href=\"sync?ac=21\">sync</a> \n" " the files, or attempt to <a href=\"submit?ac=21\">submit</a> them, they must \n" " be resolved to account for the changes made in the new file versions. \n" " <p>\n" "<li>\n" "You have files <a href=\"integrate?ac=21\">open for integrate</a>.\n" "These files will need resolving as soon as they\n" "are opened to account for the changes made in the files\n" "you are integrating from.\n" "</ol>\n" "\n" "<p>\n" "You can run <b>resolve</b> by:\n" "\n" "<ul>\n" "<p>\n" " <li> Selecting a <I>directory</I> in the <B>Files</B> tab and then selecting \n" " <b>Resolve...</b> from the <b>Action</b> menu. This option operates on all \n" " unresolved files under that directory.\n" "<p>\n" " <li> Selecting a <I>file</I> in the <B>Files tab</B> and then selecting <b>Resolve...</b> \n" " from the <b>Action</b> menu. This option operates only on the selected file. \n" "</ul>\n" "\n" "\n" "\n" "<p>\n" "<h4>The Resolve options page</h4>\n" "\n" "<p>\n" "<p> Selecting <b>Resolve...</b> from the <b>Action</b> menu takes you to the <B>Resolve</B> \n" " options page, where you can select resolve options, preview the resolve command \n" " you are about to run, and run the command. (Previewing the command shows you \n" " which files will be affected, but doesn\'t tell you what the outcome will be.) \n" "<p> For the purpose of files handled by the <b>resolve</b> command: \n" "<ul>\n" "<li><i>theirs</i> is the file the changes are coming from.\n" " For a file opened for integrate,\n" " <i>theirs</i> is the file being integrated from.\n" " For a file opened for edit,\n" " <i>theirs</i> is the newer version of the file in the depot.\n" " <li><i>yours</i> is the file the changes are going into, the file opened in \n" " your workspace, which you will submit after resolving. \n" "</ul>\n" "\n" "<p> The <B>Resolve</B> options page lets you choose how to resolve. Your choices \n" " are: \n" "<ul>\n" "<p>\n" " <li><b>Interactively:</b> launches a resolve program in a separate window. If \n" " you have specified a resolve program to use with Perforce, P4Web launches \n" " it. If not, the default Perforce resolve program launches and cycles through \n" " all the unresolved files, letting you choose how to handle each one individually. \n" " Use the \"help\" command to find out more, or see <a href=\"quickstart?ac=21#resolving\">Resolving \n" " Files</a> in <a href=\"quickstart?ac=21\">Getting Started with Perforce and P4Web</a>. \n" " <p>\n" " <li><b>Automatically</b>: resolve all your unresolved files in one non-interactive \n" " batch. You can choose from these automatic resolve options: \n" " <ul>\n" " <p>\n" " <li><b>Accept safe (unilateral) changes</b>. Resolves files if only file \n" " has changed. This option works with both binary and text files. For each \n" " unresolved file: \n" " <ol>\n" " <p>\n" " <li>If yours has changed and theirs has not changed, or if neither yours \n" " nor theirs has changed, the resolve is handled by ignoringtheirs. \n" " The content of your workspace file is not modified, and the file no \n" " longer needs resolving. \n" " <p>\n" " <li>If theirs has changed and yours has not changed, the resolve is \n" " handled by copying theirs into into yours. Your workspace file is \n" " now identical to theirs, and the file no longer needs resolving. (This \n" " approach is safe, because you can always restore your original workspace \n" " file by <a href=\"revert?ac=21\">reverting</a> it.) \n" " <p>\n" " <li>If both theirs and yours have changed, the resolve is skipped for\n" " this file.\n" " Your workspace file is not modified, and the file still needs resolving.\n" " You can then run <b>resolve</b> with either the \"interactive\" option\n" " or the \"accept only non-conflicting merges\" option\n" " to get the skipped file resolved.\n" " </ol>\n" "\n" " <p>\n" " <li><b>Accept only non-conflicting merges</b>.\n" " Works with text files only.\n" " It resolves each file exactly as above, except that in the third case\n" " where both yours and theirs have changed, the file is resolved\n" " if the changes do not conflict:\n" " <ul>\n" " <p>\n" " <li>\n" " Their file content is combined with your file content to produce\n" " a <i>merged</i> file.\n" " If none of their changes occur in the same place as yours, or if\n" " changes that do occur in the same place are exactly the same,\n" " the merged file is copied into your workspace file,\n" " and the file no longer needs resolving.\n" " <p>\n" " <li>\n" " If their file was changed in any of the same places as yours,\n" " but those changes are not identical to yours, the resolve is skipped\n" " for this file.\n" " Your workspace file is not modified, and the file still needs resolving.\n" " You should then run <b>resolve</b> with the \"interactive\" option\n" " to get the skipped file resolved.\n" " </ul>\n" "\n" " <p>\n" " <li><b>Accept all merges</b>.\n" " Works with text files only.\n" " This resolves each file exactly as above, except\n" " that the merged file is copied into your workspace file\n" " even if there were conflicting changes.\n" " Resolves are never skipped using this option,\n" " but the resulting workspace files may contain conflict markers.\n" " This option is not recommended unless you have some reliable\n" " way of checking to make sure you\'ve edited out the conflict markers\n" " later. A better choice is to use the \"interactive\" option so that\n" " the merged file is only copied to your workspace\n" " after you\'ve edited out the conflicts.\n" "\n" " <p>\n" " <li><b>Accept yours (ignore theirs)</b>.\n" " This option resolves files without changing the content of your\n" " opened files.\n" " Use this when their files contain changes that should be ignored,\n" " or were made in error.\n" " Resolves are never skipped using this option.\n" "\n" " <p>\n" " <li><b>Accept theirs (ignore yours)</b>.\n" " This option resolves files by copying the content of their files into\n" " your opened workspace files.\n" " <i>Any previous edits you may have done to opened files will be lost when\n" " you choose this option!</i>\n" " Resolves are never skipped using this option.\n" "\n" " </ul>\n" "\n" "<p>\n" "<li><b>Force re-resolve of previously resolved files</b>.\n" " Normally if you try to run <b>resolve</b> on files that have already\n" " been resolved, nothing happens. Use this option to force <b>resolve</b>\n" " to treat files as if they had not previously been resolved.\n" " (This option does <i>not</i> restore the contents of your workspace\n" " files to their \"pre-resolved\" state before doing the re-resolve.)\n" "\n" "<p>\n" "<li><b>Mark non-conflicting changes in merged result</b>.\n" " This causes merged or copied files to contain markers for non-conflicting\n" " changes as well as conflicting changes. You can search for and remove\n" " these markers in the editor, either while doing an \"interactive\"\n" " resolve or after automatically resolving files. In either case,\n" " it is up to you to remember to remove the markers after the files are\n" " resolved.\n" "\n" "</ul>\n" "\n" ; const char *restrictfilesHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Restricting Files Used in Commands</FONT></B><BR>\n" "\n" "<p> Many P4Web command option pages enable you to restrict the files that are \n" " be affected by the command. Depending on the command you are running, you have \n" " the following options:\n" "<ul>\n" " <li><b>All files: </b>Run the command on all files in your client view. </li>\n" " <p>\n" " <li><b>Files in <i>[path]</i> and subdirectories</b>: Restrict the command to \n" " the files in the current path and all subdirectories below the current path. \n" " </li>\n" " <p>\n" " <li><b>Files in <i>[path]</i> at this level only</b>: Restrict the command to \n" " the files at the current path level </li>\n" " <p>\n" " <li><b>Selected files</b>: Restrict the command to the files that are checked \n" " in the list that follows. In most cases this is the list of files at the current \n" " path level. On the Revert Options page this is the list of all your opened \n" " files at or below the current path level. </li>\n" "</ul>\n" "<dt> Regardless of which file restriction options you choose, commands affect \n" " only the files mapped in your <a href=\"client?ac=21\">client view</a>. \n" ; const char *resultHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>The Command Results Page</FONT></B><BR>\n" "\n" "<p> P4Web displays a <b>Results</b> page when you run a Perforce command that \n" " modifes data. From the <b>Results</b> page, click the <B>Files</B> tab to get \n" " back to your last view of the <b>Files</b> page. \n" "<p> Typically, a <b>Results</b> page consists of two parts: \n" "<p>\n" "<ul>\n" " \n" " <li><b>Command</b>: the command that P4Web sent to the Perforce server. \n" " <P>\n" " \n" " <li><b>Result</b>: messages returned from the Perforce server. Normal completion \n" " status is displayed in black, exceptions are displayed in red. \n" "</ul>\n" "\n" "<p> <B>Note:</b> Clicking your browser\'s \"Refresh\" or \"Reload\" button while displaying \n" " a <b>Results</b> page can cause P4Web to rerun the Perforce command that is \n" " displayed. \n" ; const char *revertHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Reverting Files</FONT></B><BR>\n" "\n" "<P> The <B>revert</B> command closes opened files by taking them out of your <a href=\"pendingchangelists?ac=21\">pending \n" " changelist</a> instead of submitting them. Reverting also affects your workspace \n" " as follows: \n" "<ul>\n" "<p>\n" " <li> When you revert a file<b> opened for edit or integrate</b>, your workspace \n" " copy of the file is replaced with a copy of the file from the depot. <font color=red> \n" " Changes you made to your workspace copy of the file are lost when you revert! \n" " </font> </li>\n" " \n" " <li> When you revert a file<b> opened for add</b>, nothing happens to the file \n" " in your workspace. The file is simply removed from your pending changelist. \n" " </li> \n" " <li> When you revert a file<b> opened for delete</b>, the deleted file is restored \n" " to your workspace from the depot.</li>\n" "\n" " \n" " <li> When you revert a file<b> opened for branch or add,</b> your workspace \n" " copy of the branched file is removed. </li>\n" "</ul>\n" "\n" "<p>\n" "You can revert files by:\n" "\n" "<ul>\n" " <li>Selecting <b>Revert...</b> from the <b>Action</b> menu at the top of the \n" " <B>Files</B> tab. This option displays the <b>Revert</b> page, described below. \n" " <p> \n" " <li>Clicking the \"Revert unchanged files\" shortcut button <img src=\"/runrevertIcon?ac=20\" border=none>with \n" " a directory selected. This option immediately reverts any files opened for \n" " edit or integrate under that directory as long as you have not yet modified \n" " or <a href=\"resolve?ac=21\">resolved</a> them.</li><p> \n" " \n" " <li>Clicking the \"Revert unchanged files\" shortcut button with a file selected. \n" " This immediately reverts the current file if it was opened for edit or integrate \n" " as long as you have not yet modified or resolved it. \n" "</ul>\n" "\n" "<p>\n" "<h3>The Revert Page</h3>\n" "\n" "<p> <b>Revert...</b> takes you to the <b>Revert</b> page. Select the options you \n" " want and click the command button to preview the revert or revert the files. \n" "<p><b>Options: </b>\n" "<ul>\n" " <li> <B>Restrict to unchanged files:</B> Revert only the files you have not \n" " yet modified in your workspace. (Files opened for add, delete, or branch/add, \n" " and files that have been resolved, are considered \"modified.\")</li>\n" " <li><B>Restrict to changelist <I>(changelist number)</I></B>: Revert the files \n" " in the selected changelist. </li>\n" "</ul>\n" ; const char *roadmapHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>P4Web \"Road Map\"</FONT></B><BR>\n" "\n" "<P>\n" "This page provides a \"road map\" to P4Web documentation.\n" "If you\'re already a Perforce user, this\n" "page will tell you how to use P4Web to do familiar Perforce tasks.\n" "Users new to Perforce should read\n" "<a href=\"quickstart?ac=21\">Getting Started with Perforce and P4Web</a>\n" "first, then return to this page for pointers to more detailed information\n" "about a particular task.\n" "<p> <b><a href=\"roadmap?ac=21#index\">Complete index of help topics</a></b> \n" "<p> <b>Standard and Viewer modes </b>\n" "<p> The P4Web process that you browse to is in <i>Standard</i> or <i>Viewer</i> \n" " mode: \n" "<p>\n" "<ul>\n" " <li><a href=\"helper?ac=21\">Standard mode</a> turns your web browser into a complete \n" " user interface to Perforce. You can use it to work on files and to submit \n" " changes, as well as to browse depot information. Standard mode is for your \n" " own private use. \n" " <p> \n" " <li> <a href=\"browseonly?ac=21\">Viewer mode</a> is accessible to multiple users \n" " and is used to browse depot files and information. Functionality is limited \n" " to read-only operations; see the help page for more information. </li>\n" "</ul>\n" "<p>\n" "\n" "<H4>Tree vs. File view</H4>\n" "<P> P4Web provides two viewsof Perforce information: \n" "<UL>\n" "<P>\n" " <LI> The <A HREF=\"pathbrowser?ac=21\">tree view</A> enables you to navigate the \n" " hierarchy of depot paths. The tree view shows you whether you have open files \n" " in a given path, and enables you to run commands on all the files in a particular \n" " path. \n" " <P>\n" " <LI> The <A HREF=\"filebrowser?ac=21\">file view</A> gives you an instant picture \n" " of the state of a given file: where it is mapped in your workspace, whether \n" " anyone else has it opened, what its history is, and so on. P4Web lets you \n" " display any revision of a file in your browser. You can also run a variety \n" " of commands on a file from its file view page. \n" "</UL>\n" "\n" "<P> Both the tree and the file views can optionally show recent depot activity \n" " in the control panel at the top of the page, meaning the most recent changes \n" " that affected the path or file you are currently browsing. See <a href=\"controlpanel?ac=21\">Using \n" " the Control Panel</a> to find out how to turn recent activity display on and \n" " off. \n" "<h4>Back-in-Time Browsing®</h4>\n" "<p> If you are storing web site files in your Perforce depot, you can use <a href=\"bitb?ac=21\">Back-in-Time \n" " Browsing®</a> to view your entire web site as it appeared at any previous \n" " point in time. \n" "<H4>Workspaces</H4>\n" "\n" "<P> Your current <a href=\"defs?ac=21#client\">client</a> determines which <a href=\"defs?ac=21#workspace\">workspace</a> \n" " you are using. Your current client name is displayed at the top of every P4Web \n" " page in the <A HREF=\"controlpanel?ac=21\">control panel</A>. You can use the <A HREF=\"client?ac=21\">Client \n" " Workspaces</A> page to list existingclients. You can switch clients using from \n" " the <a href=\"client?ac=21\">Clients</a> page or the <A HREF=\"settings?ac=21\">Settings</A> \n" " page. \n" "<P>\n" "The files and paths in your workspace are determined by your client spec.\n" "To create or modify a client spec, use the\n" "<A HREF=\"editclient?ac=21\">Edit Client Spec</A> page.\n" "\n" "<H4>Changelists</H4>\n" "\n" "<p>\n" "To find out how to submit changed files from your workspace into the depot, see\n" "<a href=\"submit?ac=21\">Submitting Files in a Pending Changelist</a>.\n" "<p>\n" "Perforce keeps a permanent record of file changes submitted by users.\n" "<a href=\"submittedchangelists?ac=21\">Submitted Changelists</a> describes\n" "how to list changes that have occured in an entire path as well as in a single file.\n" "<p>\n" "You can organize your opened files into more than one pending changelist in your workspace.\n" "<a href=\"editpending?ac=21\">Edit A Pending Changelist</a> describes\n" "how to create, modify, or delete pending changelists.\n" "\n" "<H4>Files</H4>\n" "\n" "<p>\n" "The Tree view shows you your opened files (files you are\n" "working on) in the current path at a glance. It also shows you which\n" "files at each path level are in sync with the depot and which are not.\n" "See <a href=\"pathbrowser?ac=21\">Using the Tree view</a> for links to\n" "help on the commands you can run on all files in a path.\n" "For help on per-file operations, see the links in\n" "<a href=\"filebrowser?ac=21\">Using the File view</a>.\n" "\n" "<p>\n" "The File view lets you peruse <a href=\"filelog?ac=21\">File History</a>\n" "and view file content at any revision.\n" "\n" "<p>\n" "For information about merging changes between files and resolving conflicts,\n" "see <a href=\"resolve?ac=21\">Resolving Files</a>.\n" "\n" "<h4>Branching and integration</h4>\n" "\n" "<p>\n" "Perforce lets you branch\n" "single files and/or entire directory hierarchies of files from each\n" "other, as described in\n" "<a href=\"integrate?ac=21\">Integrating Files</a>.\n" "P4Web allows you to create and edit\n" "<a href=\"editbranch?ac=21\">branch specs</a>.\n" "Browse existing branch views with the\n" "<a href=\"branch?ac=21\">Branches</a> page.\n" "\n" "\n" "<h4>Users</h4>\n" "\n" "<P>\n" "The <a href=\"user?ac=21\">Users</a> page shows all <a href=\"defs?ac=21#user\">users</a> known to\n" "the Perforce system.\n" "\n" "<p>\n" "If you\'re using P4Web in <a href=\"helper?ac=21\">Standard mode</a>\n" "you\'ll see your own Perforce user name at the top\n" "of each page, in the control panel.\n" "You can edit\n" "your <a href=\"defs?ac=21#userspec\">user spec</a> with the <a\n" "href=\"edituser?ac=21\">Edit User Spec</a> page.\n" "New users should edit their user spec immediately to\n" "set a Perforce password so that no one else can use their Perforce username in P4Web to\n" "modify files in their workspace.\n" "For more information, see <a href=\"auth?ac=21\">Passwords and Authentication</a>.\n" "\n" "<h4>Labels</h4>\n" "\n" "Existing labels are shown on the <a href=\"label?ac=21\">Labels</a> page. You can <a href=\n" "\"editlabel?ac=21\">create and edit labels</a>, as well as <a href=\n" "\"labelsync?ac=21\">add or remove files</a> from a label using P4Web.\n" "\n" "\n" "<h4>Jobs</h4>\n" "\n" "P4Web supports limited access to the Perforce <A HREF=\"defs?ac=21#job\">job</A> \n" "system. The <a\n" "href=\"job?ac=21\">Jobs</a> page is a configurable page that lists jobs by name. \n" "From the Jobs page, you can use P4Web to <a href=\"editjob?ac=21\">create and edit \n" "jobs</a>. \n" "<table border=1 cellpadding=5>\n" " <tr> \n" " <td align=left valign=top colspan=\"4\"> \n" " <h3 align=\"center\"><a name=index></a>Complete Index of Help Topics</h3>\n" " </td>\n" " <tr> \n" " <td align=left valign=top><b>General Info</b> </td>\n" " <td valign=top> \n" " <li><a href=\"index?ac=21\">Administering P4Web</a> \n" " <li><a href=\"bitb?ac=21\">Back-in-Time Browsing® </a> \n" " <li><a href=\"tips?ac=21\">Browser Tips </a> \n" " <li><a href=\"result?ac=21\">Command Results Page </a> \n" " <li><a href=\"browsemodes?ac=21\">Depot Browsing vs. Workspace Browsing </a> \n" " <li><a href=\"serverinfo?ac=21\">Displaying Perforce Server Info </a> \n" " <li><a href=\"errors?ac=21\">Errors Using P4Web and Perforce </a> \n" " <li><a href=\"quickstart?ac=21\">Getting Started with Perforce and P4Web </a> \n" " <li><a href=\"defs?ac=21\">Glossary </a> \n" " <li><a href=\"howto?ac=21\">How To... </a> \n" " <li><a href=\"helper?ac=21\">P4Web Standard mode </a> \n" " <li><a href=\"browseonly?ac=21\">P4Web Viewer mode </a> \n" " <li><a href=\"auth?ac=21\">Passwords and P4Web </a> \n" " <li><a href=\"rss?ac=21\">RSS feeds</a> \n" " <li><a href=\"settings?ac=21\">Settings and Preferences </a> \n" " <li><a href=\"controlpanel?ac=21\">Using the Control Panel </a> \n" " <li><a href=\"filebrowser?ac=21\">Using the File View </a> \n" " <li><a href=\"pathbrowser?ac=21\">Using the Tree View </a> \n" " <li><a href=\"commands?ac=21\">Issuing P4 Commands</a> \n" " <li><a href=\"actioncodes?ac=21\">P4Web URL Reference</a> \n" " <li><a href=\"xml?ac=21\">XML Output</a> \n" " <td align=left valign=top><b>Working with Files</b> </td>\n" " <td valign=top> \n" " <li><a href=\"add?ac=21\">Adding New Files </a> \n" " <li><a href=\"filetype?ac=21\">Changing Filetypes </a> \n" " <li><a href=\"diffing?ac=21\">Diffing Files and Folders</a> \n" " <li><a href=\"filelog?ac=21\">Revision History </a> \n" " <li><a href=\"help_filetypes?ac=21\">Filetypes </a> \n" " <li><a href=\"findfiles?ac=21\">Finding Files </a> \n" " <li><a href=\"integrate?ac=21\">Integrating Files </a> \n" " <li><a href=\"integfb?ac=21\">Integrating Files at the File Level </a> \n" " <li><a href=\"integpb?ac=21\">Integrating Files at the Path Level </a> \n" " <li><a href=\"launcheditor?ac=21\">Launching an Editor </a> \n" " <li><a href=\"lock?ac=21\">Locking Opened Files </a> \n" " <li><a href=\"add?ac=21\">Opening Files for Add </a> \n" " <li><a href=\"delete?ac=21\">Opening Files for Delete </a> \n" " <li><a href=\"edit?ac=21\">Opening Files for Edit </a> \n" " <li><a href=\"remove?ac=21\">Removing Files from Your Workspace </a> \n" " <li><a href=\"resolve?ac=21\">Resolving Files </a> \n" " <li><a href=\"restrictfiles?ac=21\">Restricting Files Used in Commands </a> \n" " <li><a href=\"revert?ac=21\">Reverting Files </a> \n" " <li><a href=\"addselect?ac=21\">Selecting Files to Add </a> \n" " <li><a href=\"submit?ac=21\">Submitting Files </a> \n" " <li><a href=\"sync?ac=21\">Syncing Files </a> \n" " <li><a href=\"unlock?ac=21\">Unlocking Files </a> \n" " <li><a href=\"filelog?ac=21\">Viewing File History </a> \n" " <tr> \n" " <td align=left valign=top><b>Client Workspaces</b> </td>\n" " <td valign=top> \n" " <li><a href=\"editclient?ac=21\">Editing Client Specs </a> \n" " <li><a href=\"client?ac=21\">Working with Client Specs </a> \n" " </td>\n" " <td align=left valign=top><b>Jobs</b> </td>\n" " <td valign=top> \n" " <li><a href=\"editjob?ac=21\">Creating and Editing Jobs </a> \n" " <li><a href=\"deletespec?ac=21\">Deleting a Job </a> \n" " <li><a href=\"jobfields?ac=21\">Job Field Descriptions </a> \n" " <li><a href=\"job?ac=21\">Working with Job Specs </a> \n" " </td>\n" " <tr> \n" " <td align=left valign=top><b>Labels</b> </td>\n" " <td valign=top> \n" " <li><a href=\"editlabel?ac=21\">Creating and Editing Labels </a> \n" " <li><a href=\"deletespec?ac=21\">Deleting a Label </a> \n" " <li><a href=\"labelsync?ac=21\">Adding and Removing files from a Label </a> \n" " <li><a href=\"label?ac=21\">Working with Labels </a> \n" " </td>\n" " <td align=left valign=top><b>Users</b> </td>\n" " <td valign=top> \n" " <li><a href=\"edituser?ac=21\">Editing Your User Spec</a> \n" " <li><a href=\"user?ac=21\">Working with User Specs </a> \n" " </td>\n" " </tr>\n" " <tr> \n" " <td align=left valign=top><b>Branching and <br>\n" " Integration</b> </td>\n" " <td valign=top> \n" " <li><a href=\"editbranch?ac=21\">Creating and Editing Branch Specs </a> \n" " <li><a href=\"deletespec?ac=21\">Deleting a Branch Spec </a> \n" " <li><a href=\"branch?ac=21\">Working with Branches \n" " \n" " \n" " </a><li><a href=\"integrate?ac=21\">Integrating Files </a> \n" " <li><a href=\"integfb?ac=21\">Integrating Files via the File Browser </a> \n" " <li><a href=\"integpb?ac=21\">Integrating Files via the Path Browser </a> \n" " <td align=left valign=top><b>Changelists</b> </td>\n" " <td valign=top> \n" " <li><a href=\"submittedchangelists?ac=21\">Displaying Submitted Changelists \n" " </a> \n" " <li><a href=\"editpending?ac=21\">Editing a Pending Changelist </a> \n" " <li><a href=\"pendingchangelists?ac=21\">Listing Pending Changelists </a> \n" " <li><a href=\"describe?ac=21\">Viewing a Changelist Description </a> \n" " </td>\n" " </tr>\n" "</table>\n" ; const char *rssHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Configuring RSS feeds</FONT></B><BR>\n" "<p>Using P4Web, you can configure RSS feeds that display:</p>\n" "<ul>\n" " <li>latest submitted changelists</li>\n" " <li>newest jobs</li>\n" " <li>jobs filtered by a selected user\'s jobview</li>\n" " <li>latest submitted changelists affecting the files reviewed by a selected \n" " user</li>\n" "</ul>\n" "<p>You must have an RSS news aggregator/reader installed, such as Sage for Mozilla. \n" " Some browsers can be configured for RSS feeds. Check whether your preferred \n" " browser can be configured to work with a RSS news aggregator/reader. Standalone \n" " RSS aggregators/readers are also available.</p>\n" "<p>To enable you to configure an RSS feed, P4Web displays an "RSS 2.0" \n" " link and an <img src=\"/xmlIcon?ac=20\"> button on the following P4Web pages:</p>\n" "<ul>\n" " <li>Submitted changelists</li>\n" " <li>Jobs</li>\n" " <li>User Specification (for JobView and Reviews)</li>\n" "</ul>\n" "<p>To create an RSS feed:</p>\n" "<ol>\n" " <li>Browse to the desired P4Web page. On the <b>Submitted Changelists</b> and \n" " <b>Jobs</b> pages, you can use filtering to display the information you want.</li>\n" " <li>Copy the link location from the "RSS 2.0" link or <img src=\"/xmlIcon?ac=20\"> \n" " button to the clipboard (right-click and choose the context menu option that \n" " copies the link to the clipboard<b></b>).</li>\n" " <li>Define a feed for your RSS news aggregator/reader using the link you copied \n" " in step 2.</li>\n" "</ol>\n" "<p>Detailed, browser-specific instructions follow.</p>\n" "<h3>Firefox 1.5</h3>\n" "<p>To configure feeds using Firefox and Sage, perform the following steps:\n" "<ol>\n" " <li>Install the Sage extension (<tt>https://addons.mozilla.org/extensions/moreinfo.php?id=77&application=firefox</tt>).</li>\n" " <li> To launch Sage in the browser, type <b>Alt-S</b> (or choose <b>Tools>Sage</b>).</li>\n" " <li> Browse to the <b>Submitted Changelists</b> or <b>Jobs</b> page in P4Web \n" " and filter as required, or browse to the P4Web <b>User Specification</b> page \n" " for a Perforce user.</li>\n" " <li> To discover RSS feeds, click the magnifying glass icon in the Sage sidebar. \n" " Sage displays the Discover Feeds dialog, listing the feeds available on the \n" " page.</li>\n" " <li> Choose the feed you want, click <b>Add Feed</b>, then click <b>Close</b> \n" " to dismiss the dialog.</li>\n" "</ol>\n" "<p>To refresh the feed, click it. P4Web queries the Perforce Server and displays \n" " the resulting information.\n" "<p>\n" "<p></p>\n" "<p></p>\n" "<h3>Opera 8.5</h3>\n" "To configure feeds using Opera, perform the following steps: \n" "<ol>\n" " <li> Browse to the <b>Submitted Changelists</b> or <b>Jobs</b> page in P4Web \n" " and filter as required, or browse to the P4Web <b>User Specification</b> page \n" " for a Perforce user.</li>\n" " <li>If you have not previously subscribed to any RSS feeds, click the XML icon \n" " in the address bar and proceed as prompted. </li>\n" " <li> Context-click the XML icon and choose <b>Copy link address</b>.</li>\n" " <li> Choose <b>Feeds>Manage feeds... </b>Opera displays the<b> Subscribe \n" " to RSS Newsfeeds </b>dialog.</li>\n" " <li>Click<b> New</b>. Opera displays the<b> Properties </b>dialog.<br>\n" " </li>\n" " <li>Paste the link into the <b>Address</b> field, uncheck <b>Get name from feed</b> \n" " and enter a descriptive name.</li>\n" " <li>To save the feed definition and dismiss the <b>Properties</b> dialog, click \n" " <b>OK</b>.</li>\n" " <li>To dismiss the<b> Subscribe to RSS Newsfeeds </b>dialog, click <b>OK</b>.</li>\n" "</ol>\n" "<p>To display the feed, click <b>Feeds</b> and select the desired feed. <br>\n" "</p>\n" "<h3>Safari users</h3>\n" "<p>When defining feeds, you must specify fully-qualified host names (<tt>mycomputer.mycompany.com</tt>) \n" " in URLs. Safari cannot handle "localhost".</p>\n" ; const char *settingsHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Settings and Preferences</FONT></B><BR>\n" "\n" "<form>\n" " <P> Click the <b>Settings</b> tab to change your Perforce settings and P4Web \n" " preferences. Please note: \n" " <ul>\n" "\n" " <li> You must click the <b>Save</b> button on the <b>Settings</b> page to \n" " store your new settings. \n" " <p></p>\n" "</li>\n" "<li>\n" " <p> Clicking your browser\'s <b>Back</b> button after you click <b>Save</b> \n" " does not preserve settings. Pages displayed using the <b>Back</b> button \n" " are displayed using the settings thatwere in effect when they were initially \n" " displayed.</p>\n" "</li>\n" "<li>\n" " <p> Some settings and preferences are applicable only if you are using P4Web \n" " in <a href=\"helper?ac=21\">Standard mode</a> and are not visible in <a href=\"browseonly?ac=21\">Viewer \n" " mode</a>. </p>\n" "</li>\n" "</ul>\n" "\n" "<h4>Change Client</h4>\n" "\n" " <blockquote> Enables you to switch to another client workspace. \n" " To list clients<b>, </b>click the<b> Clients</b> tab. If you leave this \n" " field blank, P4Web uses its startup environment to determine which client \n" " workspace to use. \n" " </blockquote>\n" "\n" "<h4>Change Password</h4>\n" "\n" " <blockquote> Enables you to change the password for the effective user. </blockquote>\n" "\n" "<h4>Back-in-Time Browsing®</h4>\n" "<a name=\"bitb\"></a>\n" "\n" " <blockquote> \n" " <ul>\n" " <li> \n" " <p> <b>On</b>: to enable <a href=\"bitb?ac=21\">Back-in-Time Browsing®</a>, \n" " click this button and enter a date or changelist number in the adjacent \n" " field. (For dates, use the format <code>YYYY/MM/DD</code> or <code>YYYY/MM/DD:HH:MM:SS</code>.) \n" " </p>\n" " </li>\n" " <p> \n" " <li> <b>Off</b>: disable Back-in-Time Browsing®. </li>\n" " </ul>\n" "\n" "</blockquote>\n" "\n" "<h4>Diff/Resolve Preferences</h4>\n" "<a name=\"diff\"></a>\n" "Use these options to specify the output of diffed/resolved files.\n" "<p>\n" "<ul>\n" "<li>Set the <B>Show</B> option to determine the display format of the diffed files:\n" "<blockquote>\n" "<input type=radio> <b>all diffs</b> shows all of the diffs in the file.\n" "<br>\n" "<input type=radio> <B>diffs ignoring whitespace changes</B> ignores changes in horizontal whitespace.\n" "<br>\n" "<input type=radio> <B>diffs ignoring all whitespace</B> ignores horizontal whitespace altogether.\n" "<br>\n" "<input type=radio> <B>diffs ignoring line endings</B> ignores line endings when comparing files.\n" "</blockquote>\n" "<li>Set the <B>Show diffs using</B> option to determine what information is displayed when the files are diffed:\n" " <blockquote>\n" " <input type=radio> <b>default</b> shows the default...\n" " <br>\n" " <input type=radio> <B>rcs</B> shows additions and deletions made to the file and associated line ranges.\n" " <br>\n" " <input type=radio> <B>context</B> shows line number ranges and three lines of context around the changes.\n" " <br>\n" " <input type=radio> <B>summary</B> shows only the number of chunks and lines added, deleted, or changed.\n" " <br>\n" " <input type=radio> <B>unified format</B> shows added and deleted lines with sufficient context for compatibility with the <code>patch(1)</code> utility.\n" "</blockquote>\n" "<li>Set the <B>Resolve files based on</B> option to define the parameters used when resolving files.\n" "<blockquote>\n" "<input type=radio> <b>all diffs</b> shows all of the diffs in the file.\n" "<br>\n" "<input type=radio> <B>diffs ignoring whitespace changes</B> ignores changes in horizontal whitespace.\n" "<br>\n" "<input type=radio> <B>diffs ignoring all whitespace</B> ignores horizontal whitespace altogether.\n" "</blockquote>\n" "</ul>\n" "\n" "\n" "\n" "<h4>Miscellaneous</h4>\n" "\n" " <blockquote> \n" " <p> <b><a name=\"pcl\">Page content limit:</a></b> controls how much text P4Web \n" " sends from the Perforce Server to your browser per web page. The default \n" " page content limit is 1024K bytes. </p>\n" " Some browsers can stall when trying to display very large pages. If you encounter \n" " this problem, reduce P4Web page content limit. Lowering the limit can reduce \n" " the amount of useful information you can see with P4Web, but prevents your \n" " browser from swamping your workstation. When P4Web reaches the page content \n" " limit, it sends a message for your browser to display. If you see the "page \n" " content limit" message often, try increasing the limit. \n" " <p></p>\n" "</blockquote>\n" "</form>\n" ; const char *serverinfoHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Displaying Perforce Information</FONT></B><BR>\n" "\n" "<P>\n" "The <B>Information</B> page displays information regarding \n" "your version of P4Web, your connection with the Perforce server, and Perforce contact information.\n" "\n" " <H4>Application</H4>\n" "\n" " <UL>\n" " <LI> <b>P4Web version</b>: the version of P4Web that you are currently running. \n" " <LI> <b>Browser version</b>: the browser version that you are currently using. \n" " </UL>\n" " <P> \n" " \n" " \n" "<H4>Server</H4>\n" " \n" " Your Perforce server information, including: \n" " <UL>\n" " <LI><b>User name</b>: your Perforce user ID. \n" " <LI><b>Client name</b>: the name of your Perforce client. \n" " <LI><b>Client host</b>: the name of the client workspace host.\n" " <LI><b>Client root</b>: your current client root.\n" " <LI><b>Current directory</b>: the current working directory, in local syntax. \n" " <LI><b>Client address</b>: The IP address and port on which P4Web is listening \n" " for data from the Perforce server, <EM>not</EM> the port on which P4Web \n" " listens for requests from your web browser. \n" " <LI><b>Server address</b>: The P4PORT setting used by P4Web; the Perforce \n" " server host and port.\n" " <LI><b>Server root</b>: The root directory of the Perforce server. \n" " <LI><b>Server version</b>: The version of p4d running on the Perforce server. \n" " <LI><b>Server license</b>: Licensing information for your Perforce server. \n" " </UL>\n" " <P> \n" " <DT>\n" " <H4>Company</H4>\n" " </DT>\n" " <UL>\n" " <LI> <b>Company website</b>: click on this link to access the Perforce website. \n" " <LI> <b>Email</b>: Use this email address to contact Perforce. \n" " </UL>\n" "Perforce technical support personnel might request the contents of the <B>Information</B> \n" "page to help you. Your system administrator might also need this information. \n" ; const char *submitHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Submitting Files</FONT></B><BR>\n" "\n" "<p> Changes you make to open files in your workspace do not affect the <a href=\"defs?ac=21#depot\">depot</a> \n" " until you submit them in a <a href=\"pendingchangelists?ac=21\">pending changelist</a>. \n" " You can submit a pending changelist by: \n" "<ul>\n" " <table align=right>\n" " <tr> \n" " <td valign=top><img src=\"/runsubmitIcon?ac=20\" border=1></td>\n" " <td valign=top><font size=-2>\"Submit default<br>\n" " changelist\"</font></td>\n" " </tr>\n" " </table>\n" " <li>Clicking the <b>Submit default changelist</b> shortcut button. \n" " <p> \n" " <li>Clicking the <b>Pending </b> tab, then clicking on any pending changelist. \n" "</ul>\n" "\n" "Both options displays the <a href=\"editpending?ac=21\">Pending Changelist</a> page, \n" "where you can submit the changelist. \n" "<H4> Selecting a Path or File to Submit </H4>\n" "When you choose <b>Run>Submit default changelist</b> from the Path Browser or \n" "File Browser, P4Web displays an intermediate page where you can select the files \n" "to submit. Your choices are: \n" "<ul>\n" "<li>All the files in the default changelist\n" "<li>The files in the current path and all its subdirectories\n" "<li>The files at the current path level only\n" " <li>The current file (in the File Browser) \n" "</ul>\n" "<p> The scope is limited by the files opened in the default changelist. In other \n" " words, you can\'t select files in other changelists from this page. \n" "<p> After selecting the scope of files to submit, click <b>Continue</b>. See <a href=\"editpending?ac=21\">Editing \n" " A Pending Changelist</a> for help on filling out the form and submitting the \n" " changelist. \n" ; const char *submittedchangelistsHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Displaying Submitted Changelists</FONT></B><BR>\n" "\n" "<p>\n" "You can see the history of any file or path in a Perforce\n" "depot by displaying its\n" "<a href=\"defs?ac=21#submittedchangelist\">submitted changelists</a> by clicking on the\n" "<b>Submitted </b> tab.\n" "<ul>\n" "<p>\n" "<li>\n" "To view submitted changelists for one particular <I>file</I>, click on that file and click the\n" "<b>Submitted</b> tab. This lists all the\n" "changelists that affected the current file, most recent\n" "first.\n" "<p>\n" "<li>\n" "To view submitted changelists in a particular <I>path</I>,\n" "Click on that directory and then click the <b>Submitted</b> tab. This lists all the\n" "changelists that affected files in the current path, most recent\n" "first.\n" "</ul>\n" "<p>\n" "<h4>Filtering Changelists</h4>\n" "<p>\n" "You can filter your view of the submitted changelists in several ways, using the <b>Changelist\n" "Filter</b>:\n" "<ul>\n" "<li>Enter the number of changelists to display in the list.\n" "<br>\n" " <li>In the <b>Highest(or Range)</b> text box, specify: \n" " <ul>\n" " <li>The highest changelist number that you want to view. Only changelists \n" " up to and including this number are listed. \n" " <li>A range of changelist numbers, separated by a comma. \n" " </ul>\n" " <li>If the <b>File Pattern</b> text box is displayed, you can specify a particular \n" " file or set of files, including wildcards. <br>\n" "<li>View changelists by user and/or client, using the <b>User</b> and <b>Client</b> text boxes.\n" " <li>To view all submitted changelists in the depot, uncheck the <B>Display only \n" " changelists for current path</B> option. \n" "</ul>\n" "When you have finished making your selections, click the <B>Filter</B> button.\n" "<p> To clear your selections, click the <b>Reset</b> button. \n" "<p> To save your Submitted Changelist preferences after you have selected all \n" " of your options, <a href=\"tips?ac=21#bookmarks\">bookmark</a> this page for future \n" " use. \n" "<p>\n" "<h4>Integrated Changes</h4>\n" "<p> By default, only changelists associated directly with the current file or \n" " path are shown. For example, if your current path is<tt> //depot/projects/titan/index.html</tt>, \n" " the submitted changelists page shows the changelists that involve revisions \n" " of the <tt>//depot/projects/titan/index.html</tt> file. \n" "<p> The <b>Include integrated changes</b> option expands the changelists shown \n" " to include those known to have been <a href=\"integrate?ac=21\">integrated</a> \n" " to the current file or path. For example, if your current file is<tt> //depot/projects/titan/index.html</tt>, \n" " enabling the <b>Include integrated changes</b> option displays: \n" "<ul>\n" "<p>\n" " <li> Changelists that involve revisions of the <tt>//depot/projects/titan/index.html</tt> \n" " file \n" " <p>\n" " <li> Changelists that involve any other file revisions that were integrated to \n" " the <tt>//depot/projects/titan/index.html</tt> file. \n" "</ul>\n" "<p> <b>NOTE:</b> P4Web does not display integrated changelists lower than those \n" " shown on the page that includes the first changelist number that directly affected \n" " the current file or path. For example, assume the current file is <tt>//depot/projects/titan/index.html</tt> \n" " and it was created with changelist 14560. The last page of submitted changelists \n" " you can display, including integrated changelists, is the page on which changelist \n" " 14560 is listed. Even though there are other file revisions in considerably \n" " earlier changelists that might have been integrated into <tt>//depot/projects/titan/index.html</tt>, \n" " they are not displayed unless they fit on the same page as changelist 14560. \n" ; const char *syncHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Syncing Files</FONT></B><BR>\n" "\n" "<p> The Perforce <b>sync</b> command synchronizes your workspace files with the \n" " files in the depot. Syncing uses your client spec to determine which depot files \n" " to get and where to put them in your workspace. To look at or edit your client \n" " spec, click your client name at the top of any screen in P4Web . \n" "<p> If there are files in the depot that haven\'t been copied to your workspace, \n" " <b>sync</b> copies them in. If any the depot files have been updated, <b>sync</b> \n" " copies the newer files to your workspace. If you have files in your workspace \n" " that have been deleted in the depot, or if you have changed your client mapping \n" " so that files you previously synced are no longer in your client view, <b>sync</b> \n" " removes those files from your workspace. If your workspace files are already \n" " up to date with the depot, syncing does nothing. \n" "<p>\n" "The\n" "\"<img src=\"/syncedIcon?ac=20\">\" and\n" "\"<img src=\"/syncednoneIcon?ac=20\">\" icons mark workspace\n" "files that are in sync with existing and deleted depot files,\n" "respectively.\n" "The \"<img src=\"/syncIcon?ac=20\">\" icon marks files that are\n" "not in sync with head revisions in the depot.\n" "If you have \"Show entire depot\" set,\n" "files previously synced but no longer mapped in your client\n" "view are marked with \"<img src=\"/unmappedIcon?ac=20\">\".\n" "\n" "<p> If you have files open for edit or integrate, syncing does not remove or copy \n" " over them. However, you won\'t be able to submit your open files until you\'ve \n" " <a href=\"resolve?ac=21\">resolved</a> changes from the newer files in the depot. \n" " After you sync open files, they are marked with the \"<img src=\"/resolveIcon?ac=20\">\" \n" " icon to remind you they need to be resolved. \n" "<p> Normally files synced to your workspace are read-only. Use <a href=\"edit?ac=21\">open \n" " for edit</a> to make them writable. \n" "<p> To sync files: \n" "<p>\n" "<ul>\n" " <li>Select <b>Sync...</b> from the <b>Action</b> menu at the top of the <B>Files</B> \n" " tab. P4Web displays the <a href=\"sync?ac=21#options\">Sync Options</a> page \n" " where you can pick options and preview or run the the <b>sync</b> command. \n" " </li>\n" " <li>Click the <b>Sync to head revision</b> shortcut button. This shortcut syncs \n" " the current path or file and syncs to head revisions without offering you \n" " any options. </li>\n" "</ul>\n" " <p> <img src=\"/runsyncIcon?ac=20\" alt=\"Sync to Head Revisions\"> <b>Sync to head revision</b> \n" " shortcut button </p>\n" "<a name=options></a> <b>The Sync Options Page</b> \n" "<p> The Sync Options page lets you pick from these options before previewing or \n" " running the <b>sync</b> command: \n" "<table width=\"66%\" border=\"1\" cellpadding=\"1\">\n" " <tr>\n" " <td><b>Head revision</b></td>\n" " <td><b>Sync</b> to the head revisions (latest versions). </td>\n" " </tr>\n" " <tr>\n" " <td><b>Revision number</b></td>\n" " <td><b>Sync</b> to a specified revision.</td>\n" " </tr>\n" " <tr>\n" " <td><b>Changelist Number</b></td>\n" " <td><b>Sync</b> to a specified changelist number. Enter the changelist number \n" " in the space provided. Syncing to a changelist number gets files that were \n" " the head revisions in the depot at the time the changelist was submitted. \n" " </td>\n" " </tr>\n" " <tr>\n" " <td><b>Label or Date</b></td>\n" " <td><b>Sync</b> to a specific symbolic revision revision (either a label or \n" " date). Enter the label or date in the space provided. </td>\n" " </tr>\n" " <tr>\n" " <td>\n" " <p> \n" " <dl>\n" " <dt><b>Same Revision</b></dt>\n" " </dl>\n" " </td>\n" " <td> <b>Sync</b> to the same revisions you already have in your workspace. \n" " </td>\n" " </tr>\n" " <tr>\n" " <td><b>Force</b></td>\n" " <td>Gets fresh copies of files from the depot, even if the Perforce server \n" " thinks you already have those files. Use this option to replace files that \n" " were manually removed from your workspace. </td>\n" " </tr>\n" "</table>\n" "\n" " \n" " \n" "<p> If you came to the <b>Sync Options page</b> with a directory selected, you \n" " can <a href=\"restrictfiles?ac=21\">restrict</a> the files to be opened. Regardless \n" " of which files you select, a file is only synced to your workspace if: \n" "<p> \n" " <ul>\n" " <li>The file is not already opened in your workspace \n" " <li>The file is in your client view \n" " <li>You have permission to read the file \n" " </ul>\n" "\n" "\n" "<h3>Syncing and submitting from remote machines</h3>\n" "<p>P4Web mediates between a Web browser and a Perforce server. You can run P4Web \n" " on a machine that is separate from both the browser and server machines. When \n" " using P4Web remotely, the important thing to understand is that <b>your workspace \n" " resides on the machine where P4Web is running</b>, and <i>not</i> the machine \n" " where the browser is running. \n" "<p>P4Web enables you to edit text files directly in your browser, even when P4Web \n" " is running on a remote machine. However, to edit binary files on a remote machine, \n" " you must sync them, open them for edit, and then download them to your browser \n" " machine. To submit edited files from a remote machine, you must upload them \n" " to the workspace on the P4Web machine before submitting them. \n" "<p><b>Downloading and uploading binary files: </b>\n" "<ul>\n" " <li> To download a file from the P4Web machine, right-click its link on the \n" " <b>Revision History</b> page and choose your browser\'s <b>Save</b> option \n" " (for example, <b>Save Target As...</b>) </li>\n" " <li>To upload a file to the P4Web machine, choose the <b>Upload File to Workspace</b> \n" " option from the drop-down list on the <b>Revision History</b> page, browse \n" " to the file you want to upload, then click <b>Upload</b>. </li>\n" "</ul>\n" ; const char *thumbnailsHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Image Thumbnails</FONT></B><BR>\n" "\n" "<p><a name=\"daemon\"></a>P4Web can display image thumbnails for depot files. All \n" " thumbnails are based on file revisions in the depot—P4Web does not display \n" " thumbnails of files in the workspace. Note the following:</p>\n" "<ul>\n" " <li>The p4thumb daemon must be running. This daemon generates thumbnails for \n" " image files stored in thedepot. For details, refer to the p4thumb release \n" " notes on the Perforce <a href=\"http://www.perforce.com/perforce/technical.html\">technical \n" " documentation web page</a>. </li>\n" " <li>Thumbnails are display only for supported image file formats. Supported \n" " formats are listed in the p4thumb release notes.</li>\n" " <li>Thumbnails are displayed for the last-synced revision of the image files. \n" " If you modified the image files after you synced them, your modifications \n" " are not displayed in the thumbnails shown by P4Web. For files that have not \n" " been synced, the thumbnail displays the head revision.</li>\n" "</ul>\n" "<p>To display an image in your browser, click its thumbnail. To display its revision \n" " history, click its filename. When you display the revision history, P4Web displays \n" " a large thumbnail of the image file.</p>\n" ; const char *tipsHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Browser Tips</FONT></B><BR>\n" "\n" "<P>\n" "This page points out some ways you can use your web browser\n" "to get the most out of P4Web.\n" "\n" "<blockquote>\n" "<a href=\"tips?ac=21#bookmarks\">Using bookmarks\n" "</a><br>\n" "<a href=\"tips?ac=21#rightclick\">Right-clicking on links\n" "</a><br>\n" "<a href=\"tips?ac=21#backbutton\">Using the \"Back\" button\n" "</a><br>\n" "<a href=\"tips?ac=21#pagelimit\">Resetting the page content limit\n" "</a><br>\n" "<a href=\"tips?ac=21#filecontent\">Displaying file content\n" "</a><br>\n" "<a href=\"tips?ac=21#serverimpact\">Reducing P4Web\'s impact on the Perforce Server\n" "</a><br>\n" "<a href=\"tips?ac=21#filename\">Workspace file link\n" "</a>\n" "</blockquote>\n" "\n" "<DL>\n" "\n" "<P><DT><A NAME=bookmarks><B>\n" "Using bookmarks\n" "</B></A></DT>\n" "<DD>\n" "You\'ll find that there are some P4Web pages you return to over and over.\n" "Use your browser\'s bookmark (or \"favorites\") feature to store quick access\n" "to those pages.\n" "Simply navigate to a P4Web page that you\'ll be returning to frequently,\n" "and bookmark it.\n" "You may want use your browser\'s bookmark editor to give the bookmark\n" "a more meaningful title.\n" "<p>\n" "You can use bookmarks to store any non-default settings\n" "you choose (current client, file display preferences, etc.)\n" "with the <b>Settings</b> tab. You can also use a bookmark to save your <A HREF=\"job?ac=21\">Jobs</A> list view preferences.\n" "</DD>\n" "\n" "<P><DT><A NAME=rightclick><B>\n" "Right-clicking on links\n" "</B></A></DT>\n" "<DD>\n" "In most browsers, right-clicking on a link lets you open the target page in a new window.\n" "In P4Web you can use this to look at two pages at once.\n" "For example:\n" "<UL>\n" "<P>\n" "<LI> Right-click on \"Help\" whenever you want to be able to see both the Help page\n" "and the page it describes at the same time.\n" "<P>\n" "<LI> Right-click on subdirectory links in the\n" "<B>Files</B> tab\n" "to browse a subdirectory without losing the page showing its parent.\n" "</UL>\n" "</DD>\n" "\n" "<P><DT><A NAME=backbutton><B>\n" "Using the \"Back\" button:\n" "</B></A></DT>\n" "<DD>\n" "Your browser\'s \"Back\" button can be used in combination with\n" "P4Web \"Preview\" buttons to preview a command first, then run it.\n" "For example, if you want to preview an\n" "<a href=\"integrate?ac=21\">integrate</a> command to make sure files\n" "will be opened correctly, and <i>then</i> run the command,\n" "do this:\n" "<ol type=1>\n" "<p>\n" "<li>Click P4Web\'s <b>Integrate...</b> menu option\n" "<p>\n" "<li>Fill out the form to indicate how you want files opened for integrate\n" "<p>\n" "<li>Click the \"Preview Integration\" button and confirm that the files will be\n" " opened as you expected\n" "<p>\n" "<li>Click your browser\'s \"Back\" button to return to the form -- it should\n" " still contain the input you provided for the preview\n" "<p>\n" "<li>Click the \"Integrate\" button\n" "</ol>\n" "</DD>\n" "\n" "\n" "<P><DT><A NAME=pagelimit><B>\n" "Resetting the page content limit:\n" "</B></A></DT>\n" "<DD>\n" "P4Web normally limits the amount of per-page data it sends to your browser to\n" "1024K bytes.\n" "You\'ll see the message \"WARNING: page\n" "content limit exceeded: data on this page has been truncated!\" at the\n" "end of the page if that limit has been reached.\n" "If you have particularly large amounts of data you\'d like to browse\n" "(extensive file histories, for example) you can increase that limit.\n" "Or, if your browser gets swamped displaying pages at the 1024K byte\n" "limit, you can decrease the limit.\n" "To reset the limit use the <b>Settings</b> tab.\n" "</DD>\n" "\n" "\n" "<P><DT><A NAME=filecontent><B>\n" "Displaying file content:\n" "</B></A></DT>\n" "<DD>\n" "P4Web provides two kinds of file content display:\n" "<p>\n" "<ul>\n" "<li>\n" "The first is used with all file types, and can be used\n" "to make your browser display file content using the appropriate\n" "associated application.\n" "(For example, HTML content\n" "and GIF content would be displayed by the browser, whereas PDF content\n" "would be displayed by Adobe Acrobat.)\n" "The <b>Edit file</b> <b>Action</b> menu option in the\n" "<B>Files</B> tab is an example of this\n" "kind of display.\n" "<p>\n" "Most browsers successfully use the filename suffix and/or the first few\n" "bytes of the file content to determine how to open the file.\n" "If you have a file whose suffix P4Web does not recognize, you\'ll either see garbage characters displayed in the browser or an error\n" "message. Note that P4Web has some MIME information for files stored in Perforce, but it may send file content to your browser\n" "without a MIME type header, and let your browser decide what to do with it.\n" "\n" "<p>\n" " <li> The second is used with text file types only, and displays the plain text \n" " content of a file within a P4Web page. The <b>View - depot file text</b> \n" " <b>Action</b> menu option in the <B>Files</B> tab is an example of this \n" " kind of link. All browsers can display text file content this way. \n" " </ul>\n" "\n" "</DD>\n" "\n" "<P><DT><A NAME=serverimpact><B>\n" "Reducing P4Web\'s impact on the Perforce Server:\n" "</B></A></DT>\n" "<DD>\n" "If you are working with very large Perforce depots,\n" "you can reduce P4Web\'s impact on the Perforce Server by:\n" "<ul>\n" "<p>\n" "<li>Leaving the recent activity display turned off when browsing\n" "paths at a high level.\n" "<p>\n" "<li>\n" "Limiting your client view to a subset of the depot.\n" "The fewer depot files there are mapped in your client\n" "view, the less work the Perforce Server has to do for P4Web.\n" "See <a href=\"editclient?ac=21\">Editing Client Specs</a> for information\n" "about setting your client view.\n" "<p>\n" "<li>\n" "Browsing in workspace mode instead of depot mode.\n" "See <a href=\"browsemodes?ac=21\">Depot Browsing vs. Workspace Browsing</a> for more\n" "information.\n" "<p>\n" "<li>\n" "Browsing the client view of the depot instead of the entire depot, when\n" "browsing in depot mode.\n" "See <a href=\"settings?ac=21\">Settings and Preferences</a> to for more information.\n" "</ul>\n" "\n" "<P><DT><A NAME=filename><B>\n" "Workspace file link:\n" "</B></A></DT>\n" "<DD>\n" "When you are viewing a file\'s Revision History, you may see a field entitled <b>Workspace:</b> which is followed by\n" "a link to the file on your workspace. If that link is displayed and you click on the file name, the contents of the file are displayed in\n" "your browser window. Note the following restrictions:\n" "<p>\n" "<ul>\n" "<li>The file must be local to the machine running the browser.\n" "<li>Some browsers do not support this functionality.\n" "</ul>\n" "</DD>\n" "\n" "</DL>\n" "\n" ; const char *unlockHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Unlocking Files</FONT></B><BR>\n" "\n" "<P>\n" "The <B>unlock</B> command allows you to unlock one or more \n" "of your <a href=\"lock?ac=21\">locked files</a>. \n" "You can unlock files by:\n" "\n" "<P>\n" "<B>To unlock one particular file,</B>\n" "<OL>\n" " <LI> Click on the locked file that you want to unlock.\n" " <LI> Select <b>Unlock</b> from the <b>Action</b> menu. The file is unlocked. \n" "</OL>\n" "\n" "<B>To select more than one file to unlock,</B>\n" "<OL>\n" " <LI> On the <B>Files</B> tab, select the directory that contains the files you want to unlock.\n" " \n" " <li> Select <B>Unlock...</B> from the <b>Action</b> menu. P4Web displays a form \n" " that lets you choose files to unlock. \n" " <LI> Select the files you want to unlock. \n" " <li>Click the <B>Unlock</B> button. The files are unlocked.\n" "</OL>\n" "\n" "<h4>The \"Unlock Opened Files\" form</h4>\n" "\n" "<p> If you select the <b>Unlock...</b> option with a directory selected, P4Web \n" " displays a form that lets you choose files to unlock. \n" "<p> If you have more than one <a href=\"pendingchangelists?ac=21\">pending changelist,</a> \n" " you can choose to unlock the files associated with a specified changelist. Check \n" " \"Unlock files in changelist\", select the changelist you want, and click the \n" " \"Unlock\" button.The files in the selected changelist are unlocked regardless \n" " of whether they are in the current path. \n" "<p> Alternatively, you can restrict files to unlock by path. For more information, \n" " see <a href=\"restrictfiles?ac=21\">Restricting Files Used in Commands</a>. Select \n" " the files you want to unlock and click the \"Unlock\" button.\n" "<p>\n" "Only the files locked in your workspace can be unlocked. \n" "(See also <a href=\"lock?ac=21\">Locking Opened Files</a>.)\n" ; const char *userHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>Working with User Specs</FONT></B><BR>\n" "\n" "<P> Click on the <B>Users</B> tab to bring up a list of all Perforce <a href=\"defs?ac=21#user\">users</a>. \n" " Each Perforce username has a specification, or <a href=\n" "\"defs?ac=21#userspec\">user spec</a>, associated with it. Click a user name to view \n" " its user spec. \n" "<p> You can only modify the user spec in <a href=\"helper?ac=21\">Standard mode</a>. \n" " To modify your user spec, click on the <b>Edit Current User</b> link. For information \n" " about the contents of a user spec, see <a href=\"edituser?ac=21\"> Editing your \n" " user spec</a>. \n" ; const char *xmlHelp = "<FONT SIZE=-1><B><A HREF=\"quickstart?ac=21\">[Getting Started]</A> <A HREF=\"howto?ac=21\">[How To...]</A> <A HREF=\"tips?ac=21\">[Browser Tips]</A> <A HREF=\"defs?ac=21\">[Glossary]</A> <A HREF=\"roadmap?ac=21\">[Road Map]</A> </B></FONT><BR>\n" "<P><B><FONT SIZE=+1>XML Output</FONT></B><BR>\n" "\n" "<h2>Requesting XML output from P4Web</h2>\n" "P4Web normally returns results as HTML. However, you can direct P4Web to return results encoded as XML, as follows.\n" "<h3>In a browser</h3>\n" "<P>To direct P4Web to return output in XML format to a browser:\n" "<ol>\n" " <li>To display the P4 command field, click <img src= \"/p4cmdIcon?ac=20\"> .</li>\n" " <li>In the P4 command field, type the desired command and click the XML radio \n" " button.</li>\n" " <li>Click Go. XML output for the specified command is displayed in the browser.</li>\n" "</ol>\n" "\n" "<h3>From a script</h3>\n" "<P> To request XML output from P4Web using a script, specify <a href=\"actioncodes?ac=21\">action \n" " code</a> 201 in the URL that you submit. The following example shows how to \n" " request XML output in a Perl script using the standard LWP module to issue a \n" " web request. P4Web returns its XML output into the variable <tt>$page</tt>. \n" " The example request issues the <tt>p4 changes</tt> command to obtain detailed \n" " information about changelists, limiting the output to 50 changelists using the \n" " <tt>-m</tt> flag. \n" "<pre> use LWP::Simple; </pre>\n" "<pre> my $url = \'http://myserver.perforce.com:8080/p4%20changes%20-m%2050%20-l?ac=201\'; </pre>\n" "<pre> my $page = get $url; </pre>\n" "When developing scripts, use the browser to display the XML results, to help you \n" "determine the output that your script must parse. \n" "<h2>Format of P4Web\'s XML Output</h2>\n" "\n" "<P>PWeb\'s XML output is formatted as follows: \n" "<p> \n" " \n" "<ul>\n" " <li>All tag names and attributes are lower case. \n" " <p> \n" " <li>The first tag returned is a <tt><perforce ... ></tt> header tag, which \n" " has the following attributes: \n" " <p> \n" " <table border=\"1\" cellpadding=\"1\">\n" " <tr> \n" " <td><b>Attribute</b></td>\n" " <td><b>Description</b></td>\n" " </tr>\n" " <tr> \n" " <td><tt>command</tt></td>\n" " <td>The p4 command for which output is returned</td>\n" " </tr>\n" " <tr> \n" " <td><tt>server</tt></td>\n" " <td>The host and port of the server that executed the command</td>\n" " </tr>\n" " <tr> \n" " <td><tt>user</tt></td>\n" " <td>Perforce username</td>\n" " </tr>\n" " <tr> \n" " <td><tt>client</tt></td>\n" " <td>Client workspace name</td>\n" " </tr>\n" " <tr> \n" " <td><tt>time</tt></td>\n" " <td>The date and time the XML output was generated (in local P4Web time) \n" " <b>Format</b>: <i><tt>Day, DD MMM YYYY HH:MM:SS TMZ</tt></i></td>\n" " </tr>\n" " </table>\n" " <br>\n" " <b>Example</b> of a perforce header: \n" " <pre><perforce<br> command="filelog"<br> server="perforcehost:2000"<br> user="mrp4"<br> client="mrp4_win-mrp4"<br> time="Wed, 11 Jun 2008 10:30:17 PDT"> </pre>\n" " <p> \n" " <li>If the command returnes a specification (for example, <tt>p4 client -o</tt>), \n" " a specdef tag follows the header and encloses the unparsed specification. \n" " <p><b>Example: </b><tt><specdef>Client;code:301;rq;ro;seq:1;len:32;;Update;code:302;...;;LineEnd;code:310;type:select;fmt:L;len:12;val:local/unix/mac/win/share;;View;code:311;type:wlist;words:2;len:64;;</specdef></tt> \n" " <p> \n" " <p> \n" " <li>Following the header tag (and the specdef tag, if present), is the command \n" " tag, which encloses all remaining output. \n" " <p> <b>Example</b>: \n" " <p> \n" " <pre><filelog> <br> [remaining output] <br></filelog></pre>\n" " <li>Recurring items are formatted to wrap all occurrences inside a single tag. \n" " For example, multiple file revisions are returned as an instance of a <tt>revs</tt> \n" " tag containing multiple instances of <tt>rev</tt> tags, as shown in the following \n" " example. \n" " <p> <b>Example</b>: \n" " <p> \n" " <pre><revs>\n" "\n" " <rev value=\"2\" id1=\"0\">\n" " ...\n" " </rev>\n" "\n" " <rev value=\"1\" id1=\"1\">\n" " ...\n" " </rev>\n" "\n" "</revs></pre>\n" " <li>Each instance of a recurring tag is assigned an ID number, using its id1 \n" " attribute. \n" " <p> <b>Example</b>: \n" " <pre><rev<br> value="20"<br> id1="44"><br> <change>5592</change><br> <action>edit</action><br> <type>text</type><br> </rev> </pre>\n" " <p> \n" " <li>If a recurring tag contains its own recurring tags, they are assigned an \n" " ID number using the id2 attribute. \n" " <p> <b>Example</b>: \n" " <pre>\n" " <rev value=\"21\" id1=\"43\">\n" " <change>5615</change>\n" "\n" " ...\n" " <desc>Add some examples with spaces in their names</desc>\n" " <hows>\n" " <how value=\"branch into\" id1=\"43\" id2=\"0\">\n" " <file>//depot/testing/job011981/Case/BranchView.cpp</file>\n" "\n" " <srev>#none</srev>\n" " <erev>#1</erev>\n" " </how>\n" " <how value=\"branch into\" id1=\"43\" id2=\"1\">\n" " <file>//depot/testing/job011981/Case/dir/BranchView.cpp</file>\n" "\n" " <srev>#none</srev>\n" " <erev>#1</erev>\n" " </how>\n" " </hows>\n" " </rev>\n" "</pre>\n" "</ul>\n" " <p> \n" " \n" "<li>Informational output is enclosed in identifying tags, in the following format: \n" " <pre> <error><i>Error text...</i></error></pre>\n" " <pre> <data><i>Data message...</i></data></pre>\n" " <pre> <info><i>Informational message...</i></info></pre>\n" " <p> \n" "<li>Data that contains a line-feed, TAB or space-space is tagged as CDATA to preserve \n" " white space characters. CDATA is always uppercase. \n" " <blockquote>\n" " <p><b>Example</b>: <tt><![CDATA[name: Mike email: tomb@mydata.selmatter@us.oracle.com]]> \n" " </tt></p>\n" " </blockquote>\n" "</li>\n" " \n" ;
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 12234 | Matt Attaway |
Rejigger P4Web project in preparation for official sunsetting The bin directory contains the last official builds of P4Web from the Perforce download site. P4Web is soon to be completely sunsetted; these builds are here for folks who don't want to build their own. To better handle the archived builds the source code has been moved into a separate src directory. |
||
//guest/perforce_software/p4web/Help/p4wHelp1.h | |||||
#1 | 8914 | Matt Attaway | Initial add of the P4Web source code |