P4Revision.html #6

  • //
  • guest/
  • tony_smith/
  • perforce/
  • API/
  • Ruby/
  • main/
  • doc/
  • P4Revision.html
  • View
  • Commits
  • Open Download .zip Download (7 KB)
<html>
<head>
  <title>P4/Ruby - P4Revision</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">P4Revision</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>
  <div class="classhdr">
  </div>

  <h3>Description</h3>

  Utility class providing easy access to the revisions of a file in a
  Perforce depot. P4Revision objects can store basic information about
  revisions and a list of the integrations for that revision

  <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">
	      P4Revision.new( <i>aString</i> ) -&gt; <i>aP4Revision</i>
	    </td>
	  </tr>
	</table>
      </div>

      Constructs a new P4Revision object for the named depot file.
    </div>
  </div>

  <div class="instancemethods">

    <h3>Instance Methods</h3>

    <div class="index">
      <table border="0">
	<tr>
	  <td>
	    <a href="#action">action</a>
	    <a href="#change">change</a>
	    <a href="#client">client</a>
	    <a href="#depot_file">depot_file</a>
	  </td>
	  <td>
	    <a href="#desc">desc</a>
	    <a href="#each_integration">each_integration</a>
	    <a href="#integration">integration</a>
	    <a href="#integrations">integrations</a>
	  </td>
	  <td>
	    <a href="#revno">revno</a>
	    <a href="#time">time</a>
	    <a href="#type">type</a>
	    <a href="#user">user</a>
	  </td>
	</tr>
      </table>
    </div>


    <a name="action"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">action</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>rev</i>.action -&gt; <i>aString</i>
	    </td>
	  </tr>
	</table>
      </div>

      Returns the name of the action which gave rise to this revision of the 
      file.
    </div>

    <a name="change"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">change</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>rev</i>.change -&gt; <i>aNumber</i>
	    </td>
	  </tr>
	</table>
      </div>

      Returns the change number that gave rise to this revision of the file.
    </div>

    <a name="client"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">client</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>rev</i>.client -&gt; <i>aString</i>
	    </td>
	  </tr>
	</table>
      </div>

      Returns the name of the client from which this revision was submitted.
    </div>

    <a name="depot_file"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">depot_file</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>rev</i>.depot_file -&gt; <i>aString</i>
	    </td>
	  </tr>
	</table>
      </div>

      Returns the name of the depot file this object refers to.
    </div>

    <a name="desc"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">desc</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>rev</i>.desc -&gt; <i>aString</i>
	  </td>
	    </td>
	  </tr>
	</table>
      </div>

      Returns the description of the change which created this revision. Note
    </div>

    <a name="each_integration"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">each_integration</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>rev</i>.each_integration { |<i>integ</i>| block } -&gt; <i>integArray</i>
	    </td>
	  </tr>
	</table>
      </div>

      Iterates over each the integration records for this revision of the depot 
      file.
    </div>

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

      Adds a new integration record to the revision returning the integration
      record.
    </div>

    <a name="integrations"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">integrations</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>rev</i>.integrations -&gt; <i>integArray</i>
	    </td>
	  </tr>
	</table>
      </div>

      Returns the list of integrations for this revision
    </div>

    <a name="revno"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">revno</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>rev</i>.revno -&gt; <i>aNumber</i>
	    </td>
	  </tr>
	</table>
      </div>

      Returns the number of this revision of the file
    </div>

    <a name="time"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">time</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>rev</i>.time -&gt; <i>aTime</i>
	    </td>
	  </tr>
	</table>
      </div>

      Returns the date/time that this revision was created.
    </div>

    <a name="type"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">type</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>rev</i>.type -&gt; <i>aString</i>
	    </td>
	  </tr>
	</table>
      </div>

      Returns this revisions Perforce type
    </div>

    <a name="user"></a>
    <div class="method">
      <div class="methodheader">
	<table width="100%">
	  <tr>
	    <td class="meth_name">user</td>
	    <td>&nbsp;</td>
	    <td class="proto">
	      <i>rev</i>.user -&gt; <i>aString</i>
	    </td>
	  </tr>
	</table>
      </div>

      Returns the name of the user who created this revision.
    </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="P4Integration.html">P4Integration</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 2392 Tony Smith Add missing documentation file