- <TITLE>Integrating Files</TITLE>
- <p> The Perforce <b>integrate</b> command branches new files from existing files
- and propagates changes between branched files. You can also use <b>integrate</b>
- to effectively rename files by branching new ones from existing ones and <a href="delete?help">deleting</a>
- the existing ones. When used to branch new files, source file content is copied
- from the depot into new target files in your workspace. When you submit the
- target files, they are created in the depot. When you use integrate to propagate
- changes between existing files, you will have to <a href="resolve?help">resolve</a>
- the target files before you can submit them to account for changes in the source
- files. <b>Integrate</b> opens target files in your workspace so you can branch
- or resolve changes from source files into them.
- P4Web lets you run <b>integrate</b> the following ways:
- <ul>
- <p>
- <li> With a <I>directory</I> selected in the <b>Files</b> tab, select <b>Integrate...</b>
- from the <b>Action</b> menu. This option enables you to open all the files
- in the current path for integrate. You can use this to:
- <ul>
- <li> branch an entire directory hierarchy of files
- <li> propagate changes between two entire directory hierarchies of files
- <li> rename a directory hierarchy by branching files into a path with a
- new name and deleting files in the path with the old name
- </ul>
- <p>
- <li> With a <I>file</I> selected in the <b>Files</b> tab, select <b>Integrate...</b>
- from the <b>Action</b> menu. This option enables you to open the current file
- for integrate. You can use this to:
- <ul>
- <li> branch a new file from an existing one
- <li> propagate changes between two files
- <li> rename a file by branching an existing file into a new one and deleting
- the existing file
- </ul>
- <p>
- </ul>
- <p> Click the <b>Branches</b> tab to see a list of available branch specs. For
- more information, see <a href="branch?help">Working with Branches</a>. </p>
- <p>
- <h4>The Integrate page</h4>
- On the <b>Integrate</b> page, you can specify how you want the <b>integrate</b>
- command to behave. After making your selections, you can preview or run the command.
- Some of the fields and options you'll see are specific to how you came to the
- <b>Integrate</b> page. For details:
- <ul>
- <li><a href="integpb?help">Path integration options</a> (from a directory)
- <li><a href="integfb?help">File integration options</a> (from a file)
- </ul>
- <p> The following advanced options are common to all integration pages:
- <table width="66%" border="1" cellpadding="1">
- <tr>
- <td width="28%" valign="top"><b>Limit revision range </b></td>
- <td width="72%">Perforce keeps track of which revisions of a source file have
- already been integrated to a target file. Normally <b>integrate</b> opens
- the target if <i>any</i> source revisions have not yet been integrated.
- You can restrict which source files revisions will be considered by entering
- a revision range here.
- <ul>
- <p>
- <li> You can use <a href="defs?help#symbolic">symbolic revision numbers</a>
- (for example, "@12345") or <a href="defs?help#absolute">absolute revision
- numbers</a> (for example, "#45").
- <p>
- <li> If you enter a "starting with" revision, no source revisions prior
- to it will be considered. If you don't supply the "@" or "#" prefix,
- "@" will be assumed.
- <p>
- <li> If you enter an "ending with" revision, no higher source revisions
- higher are considered. If you omit the "@" or "#" prefix, it is assumed
- to be the same type of revision number as the starting revision you
- supplied, or "@" if you didn't specify a starting revision.
- </ul>
- </td>
- </tr>
- <tr>
- <td width="28%" valign="top"><b>Put open files in changelist </b></td>
- <td width="72%"> If your client workspace has more than one pending changelist,
- you can select one in which to open the files selected for integration..
- </td>
- </tr>
- <tr>
- <td width="28%" valign="top"><b>Enable baseless merges </b></td>
- <td width="72%">Normally Perforce only opens a target file for integrate if
- it can find a common base between it and the source file to use as a base
- for doing a merge. A target file and source file not directly related to
- each other by branching have no common base. By default, the target are
- not opened in this case. You can use the "enable baseless merges" option
- to force target files to be opened even if they are not related to source
- files by branching. If you do this, Perforce arbitrarily chooses the #1
- revision of the source files to use as a merge base. </td>
- </tr>
- <tr>
- <td width="28%" valign="top">
- <p>
- <dl>
- <dt><b>Permit deletes/re-adds </b></dt>
- </dl>
- </td>
- <td width="72%">
- <p> If the ending revision of the source file is a deleted file, Perforce
- normally opens the target file for delete unless the target file has any
- revisions that have not themselves been integrated to the source file.
- If the source file exists and the target file does not, Perforce normally
- opens the target file for branch/add unless the target file is a deleted
- file. Checking the "permit deletes/re-adds" option makes the <b>integrate</b>
- command open the target file for delete or branch/add even if these conditions
- exist.
- </td>
- </tr>
- <tr>
- <td width="28%" valign="top">
- <p>
- <p>
- <dl>
- <dt><b>Re-branch source on top of deleted targets </b></dt>
- </dl>
- </td>
- <td width="72%">
- <p> If the source file exists and the target file does not, Perforce normally
- opens the target file for branch/add unless the target file is a deleted
- file. Checking this option opens the target file for branch/add even if
- it is deleted.
- </td>
- </tr>
- <tr>
- <td width="28%" valign="top">
- <p>
- <p>
- <dl>
- <dt><b>Delete modified targets if source is deleted </b></dt>
- </dl>
- </td>
- <td width="72%">
- <p> If the ending revision of the source file is a deleted file, Perforce
- normally opens the target file for delete unless the target file has any
- revisions that have not themselves been integrated to the source file.
- Checking this option opens the target file for delete even if it has been
- edited.
- </td>
- </tr>
- <tr>
- <td width="28%" valign="top">
- <p>
- <p>
- <dl>
- <dt><b>Force re-integration if previously integrated </b></dt>
- </dl>
- </td>
- <td width="72%">
- <p>
- Normally Perforce doesn't open a target file for integrate if all
- of the source file revisions under consideration have already been integrated
- to it. Checking the "force re-integration" option makes the <b>integrate</b>
- command open the target file for integrate regardless of previous integration
- history. When you submit the file, integration history between the two
- files will be effectively rewritten to reflect the most recent of the
- duplicate integrations.
- </td>
- </tr>
- <tr>
- <td width="28%" valign="top">
- <p>
- <p>
- <dl>
- <dt><b>Don't copy newly branched files to workspace </b></dt>
- </dl>
- </td>
- <td width="72%">
- <p> Normally target files opened for branch/add are created in your workspace.
- However, because the content of the new target files is the same as that
- of the source files, your workspace files are not required to create the
- new files in the depot. If you don't need copies of the newly branched
- files in your workspace—for example, you are branching a large codeline
- but you don't plan to do work in the new codeline yourself—use this
- option.
- </td>
- </tr>
- <tr>
- <td width="28%" valign="top">
- <p>
- <p>
- <dl>
- <dt><b>Change target filetype to match source </b></dt>
- </dl>
- </td>
- <td width="72%">
- <p>
- Normally, Perforce doesn't change the <a href="help_filetypes?help">filetype</a>
- of target files when you integrate to them. Each newly branched file
- is given a filetype that matches that of the file it was branched from.
- Subsequent changes to the source filetype will not affect the target
- file during integration unless you use this option. When you use this
- option, the filetype of each target file will be changed to match that
- of the corresponding source file at the revision you are integrating
- from. The filetype change takes effect when you submit the target files
- to the depot. (Note that you can also explicitly <a href="filetype?help">change
- the filetype</a> of opened files before submitting them.)
- </td>
- </tr>
- <tr>
- <td width="28%" valign="top">
- <p>
- <p>
- <dl>
- <dt><b>Don't sync target files to head revision </b></dt>
- </dl>
- </td>
- <td width="72%">
- <p>
- Normally, Perforce automatically <a href="sync?help">syncs</a> to
- the head revision before integrating. If you select this option, Perforce
- uses the revision that you have in your workspace, instead of the head
- revision. Note that this is only true if your server is 2002.1 or newer.
- </td>
- </tr>
- </table>
- <p>
- <blockquote>
- <dl>
- <p>
- <dt> </dt>
- <dd> </dd>
- <p>
- <dt> </dt>
- <dd>
- <p>
- </dd>
- <dt> </dt>
- <dd> </dd>
- <p>
- </dl>
- </blockquote>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 12234 | Matt Attaway | Rejigger P4Web project in preparation for official sunsetting The bin directory contain...s 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. « |
10 years ago | |
//guest/perforce_software/p4web/Help/integrate.html | |||||
#1 | 8914 | Matt Attaway | Initial add of the P4Web source code | 11 years ago |