P4Integration.html #6

  • //
  • guest/
  • tony_smith/
  • perforce/
  • API/
  • Ruby/
  • main/
  • doc/
  • P4Integration.html
  • View
  • Commits
  • Open Download .zip Download (4 KB)
<html>
<head>
  <title>P4/Ruby - P4Integration</title>
  <link rel="stylesheet" type="text/css" href="docstyle.css">
</head>
<body>
  <p align="right">
    <a href="index.html">Contents</a>
  </p>

  <div class="classhdr">
    <table border=0>
      <tr>
	<td>
	  <span class="classtag">Class</span>
	  <span class="classname">P4Integration</span>
	  <span class="classparent">&lt; Object</span>
	</td>
	<td id="righttext">
	  <span class="requiretag">require</span>
	  <span class="modulename">"P4"</span>
	</td>
      </tr>
    </table>
  </div>

  <h3>Description</h3>

  Utility class providing easy access to the details of an integration
  record.

  <div class="classmethods">
    <h3>Class Methods</h3>

    <div class="index">
      <table border="0">
	<tr>
	  <td>
	    <a href="#new">new</a>
	  </td>
	</tr>
      </table>
    </div>

    <a name="new"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">new</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      P4Integration.new( <i>how, file, srev, erev</i> ) -&gt; <i>aP4Integration</i>
	    </td>
	  </tr>
	</table>
      </div>

      Constructs a new P4Integration object. "how" represents the type of 
      operation e.g. "copy from", "merge into" etc. whilst, "file" is the name 
      of the integrated file and "srev" and "erev" the start and end revision
      numbers for this integration.

      <pre>
    integ = P4Integration.new( "copy from", "//depot/main/main.c", 1, 3 )
      </pre>

    </div>
  </div>

  <div class="instancemethods">
    <h3>Instance Methods</h3>

    <div class="index">
      <table border="0">
	<tr>
	  <td>
	    <a href="#how">how</a>
	    <a href="#erev">erev</a>
	  </td>
	  <td>
	    <a href="#file">file</a>
	  </td>
	  <td>
	    <a href="#srev">srev</a>
	  </td>
	</tr>
      </table>
    </div>

    <a name="how"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">how</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	    </td>
	  </tr>
	</table>
      </div>

      Returns the type of the integration record - how the record was 
      created. 
    </div>
  
    <a name="file"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">file</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>integ</i>.file -&gt; <i>aPath</i>
	    </td>
	  </tr>
	</table>
      </div>

      Returns the path to the file being integrated to/from.
    </div>
  
    <a name="srev"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">srev</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>integ</i>.srev -&gt; <i>aNumber</i>
	    </td>
	  </tr>
	</table>
      </div>

      Returns the start revision number used for this integration.
    </div>
  
    <a name="erev"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">erev</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>integ</i>.erev -&gt; <i>aNumber</i>
	    </td>
	  </tr>
	</table>
      </div>

      Returns the end revision number used for this integration.
    </div>
  </div>

  <div class="seealso">
    <h3>See Also</h3>

    <a href="P4.html">P4</a>
    <a href="P4Exception.html">P4Exception</a>
    <a href="P4DepotFile.html">P4DepotFile</a>
    <a href="P4Revision.html">P4Revision</a>
    <a href="P4Spec.html">P4::Spec</a>
  </div>

</body>
</html>
  


# Change User Description Committed
#6 4680 Tony Smith Make P4Ruby return new P4::Spec objects instead of plain old
hashes when parse_forms mode is in use. A P4::Spec object is derived
from Hash so should be backwards compatible with previous code.

P4::Spec provides limited fieldname validation on forms and
accessor methods for quick and easy access to the fields in the
form. The accessor methods are all prefixed with '_' to avoid
colliding with methods from the Hash parent class. This is a little
ugly, but deriving from hash is a big win, so it's worth it.

This change also fixes a minor bug found along the way. Spec parsing
and formatting wouldn't work with labels, branches, depots and groups
unless you'd previously run a P4::fetch_label( <label> ),
P4::fetch_branch( <branch> ) etc. etc. This is because the spec
parsing code internally runs one of these commands in order to grab
the specdef from the server but it wasn't providing a spec name. i.e.
it was using 'p4 client -o' and assuming that this would work for
other types of spec too. It does, but not for all spec types. So,
now the spec parsing code will use a bogus name for the spec types
that require it.
#5 4653 Tony Smith More documentation tweaks.
Just makes the pages look more
like the reference pages in the 'Pickaxe book'
#4 4652 Tony Smith Doc update for P4Ruby.
Rework the html and the CSS to make the
docs a little easier on the eye and easier to use too.
#3 4255 Tony Smith P4Ruby doc reformatting.
Now uses CSS instead of 1x1 image and too
many tables. Could no doubt be improved upon, but it's a start.
#2 2426 Tony Smith Doc beautifying for P4Ruby.
#1 1324 Tony Smith P4/Ruby documentation update.
Changed doc layout and added
in docs for newly added methods and classes.