integrate.html #1

  • //
  • guest/
  • perforce_software/
  • p4web/
  • main/
  • src/
  • Help/
  • integrate.html
  • View
  • Commits
  • Open Download .zip Download (10 KB)
<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&#151;for example, you are branching a large codeline 
        but you don't plan to do work in the new codeline yourself&#151;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>&nbsp; 
<blockquote>
  <dl> 
    <p> 
    <dt>&nbsp;</dt>
    <dd>&nbsp; </dd>
    <p> 
    <dt>&nbsp;</dt>
    <dd> 
      <p> 
    </dd>
    <dt>&nbsp;</dt>
    <dd>&nbsp; </dd>
    <p>
  </dl>
</blockquote>





# 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/integrate.html
#1 8914 Matt Attaway Initial add of the P4Web source code