index.html #32

  • //
  • guest/
  • perforce_software/
  • utils/
  • index.html
  • View
  • Commits
  • Open Download .zip Download (17 KB)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

<html>
  <head>
    <title>Perforce Public Depot: Template File</title>
    <!-- no htdig-keywords tag in this file -->
    <!-- no keywords tag in this file -->
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" href="../../css/pure.css" type="text/css">
    <link rel="stylesheet" href="../../css/depot.css" type="text/css">
  </head>

  <body>

    <!-- div for entire page -->
    <div id="outer">

      <div id="page-top"><!-- frames the logo and search -->
	
        <!-- logo -->
        <div id="logo">
          <a href="http://www.perforce.com"><img src="../../images/site_logo.gif" alt="Perforce Public Depot" width="219" height="50"></a>
        </div>
	  
        <div id="search"><!-- search section -->
          <form method="get" action="http://www.google.com/search">
            <div><!-- needed so invisible field will validate -->
              <input type="hidden" name="sitesearch" value="public.perforce.com">
            </div><!-- silly invisible field div -->
            <ul class="search-box">
               <li class="left"><input type="text" size="40" name="q" value="" class="search-form"></li>
               <li class="middle"><input type="submit" value="Search" class="search-button"></li>
               <li class="right" style="color: black;">Powered by Google</li>
            </ul>
          </form><!-- top navbar search form -->
        </div><!-- end search section -->

      </div> <!-- end div id page-top -->    
    
      <!-- start site content -->
      <div id="main-body">

        <!-- navbars -->
        <div id="navbar-outer">
          <ul class="navbar">
            <li class="nav-top"><a href="../../index.html" title="Home">Public Depot Home</a></li> 
            <li><a href="../../sitemap.html" title="Project Tree">Project Tree</a></li> 
            <!-- li><a href="../../search.html" title="Search">Search</a></li -->
            <li><a href="../../browse.html" title="How to Browse" >Browse</a></li> 
            <li><a href="../../contribute.html" title="How to Contribute">Contribute</a></li> 
            <!-- li><a href="../../review.html" title="Change Review Email">Change Review Email</a></li -->
          </ul>
        </div>
        <!-- end id.navbars -->

          <div id="content">

            <!-- Content starts here -->

              <h1>Perforce Utilities Project</h1>

              <!-- ABOUT THIS PROJECT -->
              <a name="about"></a>
              <h3>About This Project</h3>

              <dl class="project">

                <dt>Content
                </dt>
                <dd>
                  <p>The Perforce Utilities Project is a collection of
                     programs and scripts that integrate Perforce with a variety
                     of software development tools and environments, and/or
                     provide alternative interfaces to the Perforce SCM system.
                  </p>
                </dd>

                <dt>Curator</dt>
                <dd>
                  <p>This project is maintained by Perforce staff, with individual
                     curators as shown below. Eventually we'll split these utilities 
                     up into separate projects, depending on their activity and growth. 
                     If you have a particular interest in any or all of this project, and 
                     would like to volunteer as a curator, please email us.
                  </p>
                  <p>
                    If you would like to contribute to one of the categories that
                    does not have a curator yet,
                    you may request to have your submitted
                    changes integrated into this project by emailing Perforce staff at
                    <a href="mailto:[email protected]">[email protected]</a>.
                  </p>
                </dd>

              </dl>

              <!-- QUICKLINKS -->
              <div class="quickLinks">
                <ul>
                  <li><a href="#browsers">Depot<br>Browsers</a></li>
                  <li><a href="#convert">Conversion<br>Scripts</a></li>
                  <li><a href="#daemons">Review<br>Daemons</a></li>
                  <li><a href="#triggers">Pre-Submit<br>Triggers</a></li>
                  <li><a href="#diffmrg">Diffing and<br>Merging</a></li>
                  <li><a href="#compat">Compatibility<br>Aids</a></li>
                  <li><a href="#misc">Misc.</a></li>
                </ul>
              </div>
           
              <!-- BROWSERS -->
              <a name="browsers"></a>
              <h3>Depot Browsers</h3>

              <dl class="utilities">
                <dt>
                  <a href="http://public.perforce.com:8080/@ra=s@/public/perforce/utils/perfbrowse/">//public/perforce/utils/perfbrowse/...</a>
                </dt>
                <dd>
                  <b>perfbrowse</b>.
                  Shows depot hierarchies, changelists, filelogs, file contents, diffs, etc.
                  There's a
                  <a href=perfbrowse/[email protected]>
                  99.1-compatible</a> version and a
                  <a href=perfbrowse/[email protected]>
                  98.2-compatible</a> version.
                </dd>

                <dt>
                  <a href="http://public.perforce.com:8080/@ra=s@/public/perforce/utils/p4db/">
                  //public/perforce/utils/p4db/...
                  </a>
                </dt>
                <dd>
                  <b>P4DB</b>.
                  Based on <b>perfbrowse</b>, with added features, including
                  labels associated with files,
                  file content viewer with annotated deltas,
                  HTML file viewer,
                  and The Great Submit Race.
                </dd>
              </dl>

              <div class="hr-dotted"></div>

              <!-- CONVERSION SCRIPTS -->
              <a name="convert"></a>
              <h3>Conversion Scripts</h3>

              <dl class="utilities">
                <dt>
                  <a href="ftp://public.perforce.com/public/perforce/utils/cvs2p4/">//public/perforce/utils/cvs2p4/...</a>
                </dt>
                <dd>
                  This <b>CVS to Perforce</b> converter extracts metadata from a CVS repository
                  and generates a Perforce depot using Perforce client commands.  The
                  converter handles Attic/ and .cvsignore, and has flexible support for
                  branching.
                  Contributed by
                  <a href="http://public.perforce.com:8080/@md=d&ra=s@//richard_geiger?ac=17">
                  Richard Geiger</a>, who is also its curator. (See the
                  <a href="ftp://public.perforce.com/public/perforce/utils/cvs2p4/README">README</a> file for more info.)
                </dd>

                <dt>
                  <a href="vsstop4/index.html">//public/perforce/utils/vsstop4/...</a>
                </dt>
                <dd>
                  Converts <b>Visual Source Safe</b> (VSS) archives to Perforce,
                  preserving the original times and authors.  Branches are translated
                  verbatim, individual file revisions are grouped as much
                  as possible into Perforce's notion of atomic changelists.
                </dd>

                <dt>
                  <a href="pvcstop4/index.html">
                  //public/perforce/utils/pvcstop4/...
                  </a>
                </dt>
                <dd>
                  Converts <b>PVCS</b> archives to Perforce,
                  preserving the original times and authors.  Branches are translated
                  verbatim, individual file revisions are grouped as much
                  as possible into Perforce's notion of atomic changelists.
                  <p>Both the VSS and PVCS conversion projects are curated by 
                  <a href="http://public.perforce.com/guest/robert_cowham/pcp.html">Robert Cowham</a>.
                </dd>
              </dl>

              <div class="hr-dotted"></div>

              <!-- REVIEW DAEMONS -->
              <a name="daemons"></a>
              <h3>Review Daemons</h3>

              <dl class="utilities">
                <dt>
                  <a href="reviewd/p4review.py">
                  //public/perforce/utils/reviewd/p4review.py
                  </a>
                <dd>
                  A Perforce notification review daemon written in Python, for use on
                  Windows or Unix;
                  can run in the background or via cron;
                  allows users to subscribe to notifications about jobs (as well as changes);
                  can notify admin about bad email addresses.
                </dd>

                <dt>
                  <a href="reviewd/p4notifyd.pl">
                  //public/perforce/utils/reviewd/p4notifyd.pl</a>
                <dd>
                  A Perforce notification review daemon for Unix, written in Perl.
                  This is the review daemon used for the Public Depot.
                  Runs on Unix; written in perl; can run in the background or via cron;
                  supports "cc:" in the description or client spec; can do logging;
                  can add a hyperlinks to p4web (or some other web-based Perforce browser)
                  to display full change information.
                </dd>

                <dt>
                  <a href="reviewd/reviewer/index.html">
                  //public/perforce/utils/reviewd/reviewer/...</a>
                <dd>
                  A Perforce notification review daemon in Java.
                  Contributed by David Markley.
                </dd>
              </dl>

              <div class="hr-dotted"></div>

              <!-- TRIGGERS-->
              <a name="triggers"></a>
              <h3>Pre-Submit Triggers</h3>

              <dl class="utilities">
                <dt>
                  <a href="http://public.perforce.com:8080/@ra=s@/public/perforce/utils/triggers/">
                  //public/perforce/utils/triggers/...
                  </a>
                <dd>
                  Perforce Release 99.1 introduced server support for pre-submit
                  triggers.
                  Here are some example scripts
                  that can be used as triggers in a Perforce 99.1 (or later) server.
                  These scripts were written and contributed by
                  <a href="guest/jeff_bowles/jab.html">
                  Jeff Bowles</a>
                  and <a href="guest/wes_peters/pcp.html">Wes Peters</a>.
                </dd>
              </dl>

              <table class="data triggers" cellspacing="0">
              <tr>
                <th>Script&nbsp;Name</th>
                <th>Status*</th>
                <th>Description</th>
              </tr>
              <tr class="zebra">
                <td>
                  <a href="triggers/Jobs.pl">Jobs.pl</a>
                <td><img src="triggers/smiley.gif" alt="smiley face"></td>
                <td>
                  Example trigger to enforce a rule &quot;submissions must be associated
                  with a job.&quot;.
                </td>
              <tr>
                <td>
                  <a href="triggers/Jobs.sh">Jobs.sh</a>
                <td><img src="triggers/smiley.gif" alt="smiley face"></td>
                <td>
                  Similar to above, but contributed by <a href="guest/wes_peters/pcp.html">Wes Peters</a>
                  and written in Unix "shell". <i>Takes a different approach to the problem,
                  running "p4 fixes" to determine whether you're fixing something with this submission.</i>
              <tr class="zebra">
                <td>
                  <a href="http://public.perforce.com:8080/guest/jeff_bowles/perforce-triggers/triggers/CheckC.pl?ac=22">CheckC.pl</a>
                <td><img src="triggers/afraid.gif" alt="afraid"></td>
                <td>
                  Use this script when you're creating new files,or integrating to a new
                  branch, and the directory name you're writing the new file to isn't the
                  same case as an existing directory name.
                  <p>For example, without using this script, if <kbd>/depot/x/y/z.c</kbd>
                  exists, by default you won't be able to create a file named <kbd>/depot/X/Y/one.c</kbd>. 
              <tr>
                <td>
                  <a href="triggers/Pairs.pl">Pairs.pl</a>
                <td><img src="triggers/smiley.gif" alt="smiley face"></td>
                <td>
                  Example trigger to enforce a rule &quot;files of suffix .x/.y need to be checked
                  in as pairs&quot;.
              <tr class="zebra">
                <td>
                  <a href="triggers/Binary.pl">Binary.pl</a>
                <td><img src="triggers/smiley.gif" alt="smiley face"></td>
                <td>
                  Example trigger to enforce a rule &quot;submissions of .gif must binary files
                  and .sh files should be text and....&quot;
              <tr>
                <td>
                  <a href="triggers/simple.cmd">simple.cmd</a>
                <td><img src="triggers/teaching.gif" alt="teaching"></td>
                <td>
                  Classroom example of writing a trigger using the Windows/NT command shell,
                  a.k.a. "a <i>.cmd</i> script". (It checks that "Bug:" is included in the change
                  description.) Doesn't do a lot, but gets the idea across.
              </table>

              <p>* How to interpret the &quot;Status&quot; field:</p>
              <ul>
                <li><strong>Smiley Face</strong>: it's probably
                    simple enough to use without any worries that it'll corrupt or slow down anything;</li>
                <li><strong>Scared face:</strong>: you probably want to read the comments
                    at the top of the script - this might need localization/tailoring or might have
                    performance implications you want to investigate before deploying on your production
                    Perforce server;</li>
                <li><strong>Under construction</strong>: you can look, you can
                    make copies, but it's getting reworked at the moment.
              </ul>

              <div class="hr-dotted"></div>

              <!-- DIFF AND MERGE-->
              <a name="diffmrg"></a>
              <h3>Diffing and Merging</h3>

              <dl class="utilities">
                <dt>
                  <a href="http://public.perforce.com:8080/@ra=s@/public/perforce/utils/emacs_mrg/">
                  //public/perforce/utils/emacs_mrg/...
                  </a>
                </dt>
                <dd>
                  Some emacs lisp code to make editing merges in p4 easier.
                </dd>
              </dl>

              <div class="hr-dotted"></div>

              <!-- COMPATABILITY -->
              <a name="compat"></a>
              <h3>Compatibility Aids</h3>

              <dl class="utilities">
                <dt>
                  <a href="http://public.perforce.com:8080/@ra=s@/public/perforce/utils/c4/">
                  //public/perforce/utils/c4/...
                  </a>
                </dt>
                <dd>
                  <b>c4</b>. A CVS-like frontend to <b>p4</b>. This package was
                  contributed by
                  <a href="http://public.perforce.com:8080/@md=d&ra=s@//neil_russell?ac=17">
                  Neil Russell</a>, who is also its curator. (See the
                  README file for more info.)
                </dd>

                <dt>
                  <a href="http://public.perforce.com:8080/@ra=s@/public/perforce/utils/aegis/">
                  //public/perforce/utils/aegis/...
                  </a>
                </dt>
                <dd>
                  Aegis-like wrappers to <b>p4</b>.
                </dd>
              </dl>

              <div class="hr-dotted"></div>

              <!-- MISCELLANEOUS-->
              <a name="misc"></a>
              <h3>Miscellany</h3>

              <dl class="utilities">
                <dt>
                  <a href="http://public.perforce.com:8080/@ra=s@/public/perforce/utils/p4wrapper/">
                  //public/perforce/utils/p4wrapper/...
                  </a>
                </dt>
                <dd>
                  <b>p4wrapper</b>. A set of useful commands wrapped around <b>p4</b>, some (but not
                  all) with a CVS bent. Contributed and curated by
                  <a href="http://public.perforce.com:8080/@md=d&ra=s@//rick_richardson?ac=17">
                  Rick Richardson</a>. (See the
                  README file for more info.)
                 </dd>
             </dl>

              <div class="hr-dotted"></div>

              <p class="stored-file">You're browsing a file stored as <code>$Id: //guest/perforce_software/utils/index.html#32 $</code></p>

            <!-- Content ends here -->

          </div><!-- id content -->

      </div><!-- id main-body -->


      <!-- Copyright and bottom bar -->
      <div id="copyright">
        Copyright &#169; 1996, 2006 Perforce
      </div>

    </div> <!-- id outer -->

  </body>
</html>

# Change User Description Committed
#35 6283 Sam Stafford Update redirects to use new short URLs.
#34 6276 Sam Stafford Change old pages to http://public.perforce.com/wiki/ redirects.
#33 6060 michael Add link to svn2p4.
Clean up triggers section:
remove status column, status explanation, checkcase.pl reference
#32 6026 rlo Public depot fixes:
* Titles formatted similarly
* Navbar changed and shortened
* Change review taken out of navbar
* Links fixed
#31 6025 rlo Public Depot Redesign goes live
* Skin matches KB and latest WWW skin
* Rudimentary search mechanism based on google
* did this already, but made some big mistakes and it was easier to obliterate and start over
* about the above: yikes!
#30 5661 michael Reformat link.
#29 5660 michael Fix links to P4DB.
#28 5417 michael Update link to P4DB in Utils section.
Add security notice.
#27 5203 michael Add reference to authentication trigger examples
and rework section layout.
Remove defect tracking section.
Delete old GIFs.
#26 4906 michael Fix link to CheckC.pl trigger so that it points to something.

In this case, the P4Web filelog in Jeff Bowles' user branch
that shows: 1) the trigger is deleted at #head, and
2) makes the caveat about performance more obvious.
#25 4682 michael Add reference to the PVCS converter
recently branched into //public.

Remove redundant info on Perl and Perforce
version requirements. These are noted on the
project index pages.
#24 2179 rmg Fix vsstop4 link.
#23 2178 rmg Link in Robert's new vsstop4 index page.
#22 1683 rmg Add a link to David Markley's Java review daemon.
#21 1155 rmg The change to utils/index.html was required to get the page
       to render better with Netscape 6.2. (Without the closing </B>
       tags, the whole page from the Depot Browsers section on down
       rendered bold...!)

       I made the same logical change to the other four for consistency,
       though they didn't seem to suffer from the same problem.

       p4dti/index.html still doesn't render right under Netscape 6.2,
       but it's from a different patterns and I couldn't see a quick
       clean fix... so I didn't mess with it for now.
#20 1017 rmg Make the download behavior and naming (for p4notifyd -> p4notifyd.pl)
more consistent with other things in the Public Depot.
#19 1016 rmg Add two review daemons.
#18 968 rmg Change mail addresses from "[email protected]" to "[email protected]"
(now that the "opensource" address exists).
#17 780 rmg Take 2 for the p4db -> p4web conversion.
(change 788 redux)
#16 779 rmg Back out change 778.
#15 778 rmg Covert all p4db links into p4web links.
#14 691 rlo Typo fix
#13 690 rlo Rick Richardson's "p4wrapper" becomes a public depot utility.
#12 245 Laura Wingerd Add emacs p4merge files, belatedly, and removed link to
missing emacs integration, since the version we have is
really old.
#11 152 Laura Wingerd cvs2p4 goes public.
#10 149 Laura Wingerd Annoint Neil Russell curator of utils/c4.
#9 145 Laura Wingerd A 99.1-compatible perfbrowse.
(Integrated from change 142, change 143.)
#8 113 Laura Wingerd Pull in updates to sample triggers
(change 110, change 109)
#7 108 Laura Wingerd Update trigger descriptions
(see change 107, change 106, change 105)
#6 96 Laura Wingerd oops, typo.
#5 94 Laura Wingerd Re-org "triggers" directory -- it's now part of the
"Perforce Utilities" project.
#4 52 Laura Wingerd Minor web page format changes.
#3 51 Laura Wingerd Update copyright year.
#2 42 Laura Wingerd Fix links in index pages, add one for jam.
#1 39 Perforce maintenance Publish new Perforce Utilities Project index page.
//guest/laura_wingerd/perforce/utils/index.html
#1 37 Laura Wingerd Prototype project index pages.