index.html #11

  • //
  • guest/
  • jeff_bowles/
  • perforce-triggers/
  • index.html
  • View
  • Commits
  • Open Download .zip Download (11 KB)
<HTML>

<HEAD>

<TITLE>
Utilities Project - Perforce Public Depot
</TITLE>

</HEAD>

<BODY BGCOLOR="#FFFFFF">
<CENTER>
<P>
<A NAME="toc"></A>
<h2>
<sub><a href="../../index.html">Perforce Public Depot</a></sub><br>
Perforce Utilities Project
<br>
</H2>
<P>



<TABLE BORDER=0>
<TR>
<TD VALIGN=TOP>
<B>
<UL>
<LI><A HREF="#about">About This Project
</A>
<LI><A HREF="#browsers">Depot Browsers
</A>
<LI><A HREF="#convert">Conversion Scripts
</A>
<LI><A HREF="#daemons">Review Daemons
</A>
</UL>
<TD VALIGN=TOP>
<B>
<UL>
<LI><A HREF="#triggers">Pre-Submit Triggers
</A>
<LI><A HREF="#diffmrg">Diffing and Merging
</A>
<LI><A HREF="#defect">Defect Tracking
</A>
<LI><A HREF="#compat">Compatibility Aids
</A>
</UL>
</TABLE>
<B>
<LI><A HREF="#misc">Miscellany
</A>
</CENTER>
<br>
<br>
<br>

<!------------------------------------------------------------------>
<P>
<TABLE CELLSPACING=0 BORDER=0 WIDTH=100%><TR><TD BGCOLOR=FFCC66>

<A NAME="about"></A>
<H2>About This Project
</H2>

<TD WIDTH=5% BGCOLOR=FFCC66 ALIGN=RIGHT><FONT SIZE="-2"><A HREF="#toc">
Back to Table of Contents</A></TD></TR>
</TABLE>
<!------------------------------------------------------------------>

<TABLE CELLPADDING=5%>
<TD VALIGN=TOP>
<B>Content</B></TD>
<TD VALIGN=TOP>
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.
</TD>

</TR><TR>

<TD VALIGN=TOP>
<B>Curator</B></TD>
<TD VALIGN=TOP>
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>
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:info@perforce.com">info@perforce.com</A>.
</TD>

</TR>
</TABLE>


<!------------------------------------------------------------------>
<P>
<TABLE CELLSPACING=0 BORDER=0 WIDTH=100%><TR><TD BGCOLOR=FFCC66>

<A NAME="browsers"></A>
<H2>Depot Browsers
</H2>

<TD WIDTH=5% BGCOLOR=FFCC66 ALIGN=RIGHT><FONT SIZE="-2"><A HREF="#toc">
Back to Table of Contents</A></TD></TR>
</TABLE>
<!------------------------------------------------------------------>

<DL>

<P><DT><B>
<A HREF="http://public.perforce.com/cgi-bin/p4db/dtb.cgi?FSPC=public/perforce/utils/perfbrowse">
//public/perforce/utils/perfbrowse/...
</A></CODE></B><DD>
<DD>
<B>perfbrowse</b>.
Shows depot hierarchies, changelists, filelogs, file contents, diffs, etc.
There's a 
<a href=perfbrowse/perfbrowse.perl@P99.1>
99.1-compatible</a> version and a
<a href=perfbrowse/perfbrowse.perl@P98.2>
98.2-compatible</a> version.

<P><DT><B>
<A HREF="http://public.perforce.com/cgi-bin/p4db/dtb.cgi?FSPC=public/perforce/utils/p4db">
//public/perforce/utils/p4db/...
</A></CODE></B><DD>
<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. 

</DL>


<!------------------------------------------------------------------>
<P>
<TABLE CELLSPACING=0 BORDER=0 WIDTH=100%><TR><TD BGCOLOR=FFCC66>

<A NAME="convert"></A>
<H2>Conversion Scripts
</H2>

<TD WIDTH=5% BGCOLOR=FFCC66 ALIGN=RIGHT><FONT SIZE="-2"><A HREF="#toc">
Back to Table of Contents</A></TD></TR>
</TABLE>
<!------------------------------------------------------------------>

<DL>

<P><DT><B>
<A HREF="http://public.perforce.com/cgi-bin/p4db/dtb.cgi?FSPC=public/perforce/utils/cvs2p4">
//public/perforce/utils/cvs2p4/...
</A></CODE></B><DD>
<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/cgi-bin/p4db/lu.cgi?USER=richard_geiger">
Richard Geiger</a>, who is also its curator. (See the
README file for more info.)

</DL>


<!------------------------------------------------------------------>
<P>
<TABLE CELLSPACING=0 BORDER=0 WIDTH=100%><TR><TD BGCOLOR=FFCC66>

<A NAME="daemons"></A>
<H2>Review Daemons
</H2>

<TD WIDTH=5% BGCOLOR=FFCC66 ALIGN=RIGHT><FONT SIZE="-2"><A HREF="#toc">
Back to Table of Contents</A></TD></TR>
</TABLE>
<!------------------------------------------------------------------>


<!------------------------------------------------------------------>
<P>
<TABLE CELLSPACING=0 BORDER=0 WIDTH=100%><TR><TD BGCOLOR=FFCC66>

<A NAME="triggers"></A>
<H2>Pre-Submit Triggers
</H2>

<TD WIDTH=5% BGCOLOR=FFCC66 ALIGN=RIGHT><FONT SIZE="-2"><A HREF="#toc">
Back to Table of Contents</A></TD></TR>
</TABLE>
<!------------------------------------------------------------------>

<P>
<DL>
<DT>
<B>
<A HREF="http://public.perforce.com/cgi-bin/p4db/dtb.cgi?FSPC=public/perforce/utils/triggers">
//public/perforce/utils/triggers/...
</A></CODE></B>
<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>.

<P>
<table border=1>
<tr>
<td><b>Script Name</b><td><b>Status<sup>*</sup></b><td><center><b>Description</b></center></tr>
<tr>
<td>
<B><A HREF="triggers/Jobs.pl">
Jobs.pl
</A></B>
<td><img src="triggers/smiley.gif">
<td>
Example trigger to enforce a rule &quot;submissions must be associated
with a job.&quot;.
<tr>
<td>
<B><A HREF="triggers/Jobs.sh">
Jobs.sh
</A></B>
<td><img src="triggers/smiley.gif">
<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>
<td>
<B><A HREF="triggers/Pairs.pl">
Pairs.pl
</A></B>
<td><img src="triggers/smiley.gif">
<td>
Example trigger to enforce a rule &quot;files of suffix .x/.y need to be checked
in as pairs&quot;.
<tr>
<td>
<B><A HREF="triggers/Binary.pl">
Binary.pl
</A></B>
<td><img src="triggers/smiley.gif">
<td>
Example trigger to enforce a rule &quot;submissions of .gif must binary files
and .sh files should be text and....&quot;
<tr>
<td>
<B><A HREF="triggers/simple.cmd">
simple.cmd
</A></B>
<td><img src="triggers/teaching.gif">
<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>
<sup>*</sup>How to interpret the &quot;Status&quot; field:
<ul><li>a smiley face means &quot;it's probably
simple enough to use without any worries that it'll corrupt or slow down anything&quot; ;
<li>a scared face means &quot;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&quot; ;
<li>and &quot;under construction&quot; means just that - you can look, you can
make copies, but it's getting reworked at the moment.
</ul>

</DL>

<!------------------------------------------------------------------>
<P>
<TABLE CELLSPACING=0 BORDER=0 WIDTH=100%><TR><TD BGCOLOR=FFCC66>

<A NAME="diffmrg"></A>
<H2>Diffing and Merging
</H2>

<TD WIDTH=5% BGCOLOR=FFCC66 ALIGN=RIGHT><FONT SIZE="-2"><A HREF="#toc">
Back to Table of Contents</A></TD></TR>
</TABLE>
<!------------------------------------------------------------------>

<DL>

<P><DT><B>
<A HREF="http://public.perforce.com/cgi-bin/p4db/dtb.cgi?FSPC=public/perforce/utils/emacs_mrg">
//public/perforce/utils/emacs_mrg/...
</A></CODE></B><DD>
<DD>
Some emacs lisp code to make editing merges in p4 easier.

</DL>

<!------------------------------------------------------------------>
<P>
<TABLE CELLSPACING=0 BORDER=0 WIDTH=100%><TR><TD BGCOLOR=FFCC66>

<A NAME="defect"></A>
<H2>Defect Tracking
</H2>

<TD WIDTH=5% BGCOLOR=FFCC66 ALIGN=RIGHT><FONT SIZE="-2"><A HREF="#toc">
Back to Table of Contents</A></TD></TR>
</TABLE>
<!------------------------------------------------------------------>


<!------------------------------------------------------------------>
<P>
<TABLE CELLSPACING=0 BORDER=0 WIDTH=100%><TR><TD BGCOLOR=FFCC66>

<A NAME="compat"></A>
<H2>Compatibility Aids
</H2>

<TD WIDTH=5% BGCOLOR=FFCC66 ALIGN=RIGHT><FONT SIZE="-2"><A HREF="#toc">
Back to Table of Contents</A></TD></TR>
</TABLE>
<!------------------------------------------------------------------>

<DL>

<P><DT><B>
<A HREF="http://public.perforce.com/cgi-bin/p4db/dtb.cgi?FSPC=public/perforce/utils/c4">
//public/perforce/utils/c4/...
</A></CODE></B><DD>
<DD>
<B>c4</B>. A CVS-like frontend to <b>p4</b>. This package was
contributed by
<A HREF="http://public.perforce.com/cgi-bin/p4db/lu.cgi?USER=neil_russell">
Neil Russell</a>, who is also its curator. (See the
README file for more info.)


<P><DT><B>
<A HREF="http://public.perforce.com/cgi-bin/p4db/dtb.cgi?FSPC=public/perforce/utils/aegis">
//public/perforce/utils/aegis/...
</A></CODE></B><DD>
<DD>
Aegis-like wrappers to <b>p4</b>.

</DL>

<!------------------------------------------------------------------>
<P>
<TABLE CELLSPACING=0 BORDER=0 WIDTH=100%><TR><TD BGCOLOR=FFCC66>

<A NAME="misc"></A>
<H2>Miscellany
</H2>

<TD WIDTH=5% BGCOLOR=FFCC66 ALIGN=RIGHT><FONT SIZE="-2"><A HREF="#toc">
Back to Table of Contents</A></TD></TR>
</TABLE>
<!------------------------------------------------------------------>


<br><br><br>
<!------------------------------------------------------------------>
<P>
<TABLE CELLSPACING=0 BORDER=0 WIDTH=100%>
<TR>

<TD WIDTH=15% BGCOLOR=FFCC66 ALIGN=LEFT VALIGN=CENTER>
<FONT SIZE="-2">
Copyright &copy;<br>
1998, 1999<br>
<a href="http://www.perforce.com">Perforce Software</a><br>
</FONT>
</TD>

<TD WIDTH=70% BGCOLOR=FFCC66 ALIGN=CENTER>
<FONT SIZE="-2">
You're browsing a file stored as<br> 
<code>$Id: //guest/jeff_bowles/perforce-triggers/index.html#11 $</code><br> 
in the 
<A HREF=http://public.perforce.com/public/index.html>Perforce Public Depot</A>.
</FONT>
</TD>

<TD WIDTH=15% BGCOLOR=FFCC66 ALIGN=RIGHT>
<FONT SIZE="-2"><A HREF="#toc">
Back to<BR>Table of<BR>Contents</A></TD></TR>
</FONT>
</TD>

</TR>
</TABLE>
<!------------------------------------------------------------------>



</BODY>
# Change User Description Committed
#11 3564 Jeff Bowles Updating to remove CheckC.pl entirely.
Too many people
have taken it as a supported, nifty thing and ignored
the comments saying "this is an example and a potential
performance-killer."
#10 374 Jeff Bowles Pulling over simple changes into ~jab to keep it current.
#9 110 Jeff Bowles Making Wes Peters a bit more prominent in the description(s)
#8 107 Jeff Bowles Change to reflect structure of 'utils' directory to which this will be pushed.
#7 106 Jeff Bowles Branching these suckers to mimic the utils area.
#6 105 Jeff Bowles deleting original names, in order to match the 'utils' area.
#5 103 Jeff Bowles updating info for wes peters
#4 102 Jeff Bowles Dealing with a typo in a filename
#3 101 Jeff Bowles Adding trigger written in "shell" by Wes Peters.
#2 99 Jeff Bowles Adding Jo's classroom example using an NT command file as a trigger.
#1 81 Jeff Bowles adding some trigger examples....