<TITLE>Resolving Files</TITLE> <p> The <b>resolve</b> command tells Perforce how to combine changes between files, and to merge file content, if desired. You can run <b>resolve</b> only on open files and only if they need resolving. P4Web uses the "<img border=none src="/resolve?icon">" icon to show you which of your open files need to be resolved. If you came to the "Resolve" options page by selecting a directory first, you can <a href="restrictfiles?help">restrict</a> the files to be resolved. <p> There are two situations that require files to be resolved: <ol> <p> <li> You have files <a href="edit?help">open for edit</a> and there are newer versions of the files in the depot. As soon as you re-<a href="sync?help">sync</a> the files, or attempt to <a href="submit?help">submit</a> them, they must be resolved to account for the changes made in the new file versions. <p> <li> You have files <a href="integrate?help">open for integrate</a>. These files will need resolving as soon as they are opened to account for the changes made in the files you are integrating from. </ol> <p> You can run <b>resolve</b> by: <ul> <p> <li> Selecting a <I>directory</I> in the <B>Files</B> tab and then selecting <b>Resolve...</b> from the <b>Action</b> menu. This option operates on all unresolved files under that directory. <p> <li> Selecting a <I>file</I> in the <B>Files tab</B> and then selecting <b>Resolve...</b> from the <b>Action</b> menu. This option operates only on the selected file. </ul> <p> <h4>The Resolve options page</h4> <p> <p> Selecting <b>Resolve...</b> from the <b>Action</b> menu takes you to the <B>Resolve</B> options page, where you can select resolve options, preview the resolve command you are about to run, and run the command. (Previewing the command shows you which files will be affected, but doesn't tell you what the outcome will be.) <p> For the purpose of files handled by the <b>resolve</b> command: <ul> <li><i>theirs</i> is the file the changes are coming from. For a file opened for integrate, <i>theirs</i> is the file being integrated from. For a file opened for edit, <i>theirs</i> is the newer version of the file in the depot. <li><i>yours</i> is the file the changes are going into, the file opened in your workspace, which you will submit after resolving. </ul> <p> The <B>Resolve</B> options page lets you choose how to resolve. Your choices are: <ul> <p> <li><b>Interactively:</b> launches a resolve program in a separate window. If you have specified a resolve program to use with Perforce, P4Web launches it. If not, the default Perforce resolve program launches and cycles through all the unresolved files, letting you choose how to handle each one individually. Use the "help" command to find out more, or see <a href="quickstart?help#resolving">Resolving Files</a> in <a href="quickstart?help">Getting Started with Perforce and P4Web</a>. <p> <li><b>Automatically</b>: resolve all your unresolved files in one non-interactive batch. You can choose from these automatic resolve options: <ul> <p> <li><b>Accept safe (unilateral) changes</b>. Resolves files if only file has changed. This option works with both binary and text files. For each unresolved file: <ol> <p> <li>If yours has changed and theirs has not changed, or if neither yours nor theirs has changed, the resolve is handled by ignoringtheirs. The content of your workspace file is not modified, and the file no longer needs resolving. <p> <li>If theirs has changed and yours has not changed, the resolve is handled by copying theirs into into yours. Your workspace file is now identical to theirs, and the file no longer needs resolving. (This approach is safe, because you can always restore your original workspace file by <a href="revert?help">reverting</a> it.) <p> <li>If both theirs and yours have changed, the resolve is skipped for this file. Your workspace file is not modified, and the file still needs resolving. You can then run <b>resolve</b> with either the "interactive" option or the "accept only non-conflicting merges" option to get the skipped file resolved. </ol> <p> <li><b>Accept only non-conflicting merges</b>. Works with text files only. It resolves each file exactly as above, except that in the third case where both yours and theirs have changed, the file is resolved if the changes do not conflict: <ul> <p> <li> Their file content is combined with your file content to produce a <i>merged</i> file. If none of their changes occur in the same place as yours, or if changes that do occur in the same place are exactly the same, the merged file is copied into your workspace file, and the file no longer needs resolving. <p> <li> If their file was changed in any of the same places as yours, but those changes are not identical to yours, the resolve is skipped for this file. Your workspace file is not modified, and the file still needs resolving. You should then run <b>resolve</b> with the "interactive" option to get the skipped file resolved. </ul> <p> <li><b>Accept all merges</b>. Works with text files only. This resolves each file exactly as above, except that the merged file is copied into your workspace file even if there were conflicting changes. Resolves are never skipped using this option, but the resulting workspace files may contain conflict markers. This option is not recommended unless you have some reliable way of checking to make sure you've edited out the conflict markers later. A better choice is to use the "interactive" option so that the merged file is only copied to your workspace after you've edited out the conflicts. <p> <li><b>Accept yours (ignore theirs)</b>. This option resolves files without changing the content of your opened files. Use this when their files contain changes that should be ignored, or were made in error. Resolves are never skipped using this option. <p> <li><b>Accept theirs (ignore yours)</b>. This option resolves files by copying the content of their files into your opened workspace files. <i>Any previous edits you may have done to opened files will be lost when you choose this option!</i> Resolves are never skipped using this option. </ul> <p> <li><b>Force re-resolve of previously resolved files</b>. Normally if you try to run <b>resolve</b> on files that have already been resolved, nothing happens. Use this option to force <b>resolve</b> to treat files as if they had not previously been resolved. (This option does <i>not</i> restore the contents of your workspace files to their "pre-resolved" state before doing the re-resolve.) <p> <li><b>Mark non-conflicting changes in merged result</b>. This causes merged or copied files to contain markers for non-conflicting changes as well as conflicting changes. You can search for and remove these markers in the editor, either while doing an "interactive" resolve or after automatically resolving files. In either case, it is up to you to remember to remove the markers after the files are resolved. </ul>
# | 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/resolve.html | |||||
#1 | 8914 | Matt Attaway | Initial add of the P4Web source code |