index.html #27

  • //
  • guest/
  • perforce_software/
  • utils/
  • index.html
  • View
  • Commits
  • Open Download .zip Download (14 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>
</B>
<TD VALIGN=TOP>
<B>
<UL>
<LI><A HREF="#triggers">Triggers
</A>
<LI><A HREF="#diffmrg">Diffing and Merging
</A>
<LI><A HREF="#compat">Compatibility Aids
</A>
<LI><A HREF="#misc">Miscellany
</B>
</A>
</UL>
</B>
</TABLE>

</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:[email protected]">[email protected]</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:8080/@ra=s@/public/perforce/utils/perfbrowse/">
//public/perforce/utils/perfbrowse/...
</A></CODE></B>
<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.

<P><DT><B>
<A HREF="http://public.perforce.com:8080/@ra=s@/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="ftp://public.perforce.com/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: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.)

<P><DT><B>
<A HREF=vsstop4/index.html>
//public/perforce/utils/vsstop4/...
</A></CODE></B><DD>
<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.

<P><DT><B>
<A HREF=pvcstop4/index.html>
//public/perforce/utils/pvcstop4/...
</A></CODE></B><DD>
<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>.

</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>
<!------------------------------------------------------------------>

<DL>

<P><DT><B>
<A HREF="reviewd/p4review.py">
//public/perforce/utils/reviewd/p4review.py
</A></CODE></B>
<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.

<P><DT><B>
<A HREF="reviewd/p4notifyd.pl">
//public/perforce/utils/reviewd/p4notifyd.pl</A>
</A></CODE></B>
<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.

<P><DT><B>
<A HREF="reviewd/reviewer/index.html">
//public/perforce/utils/reviewd/reviewer/...</A>
</A></CODE></B>
<DD>

A Perforce notification review daemon in Java.
Contributed by David Markley.

</DL>



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

<A NAME="triggers"></A>
<H2>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:8080/@ra=s@/public/perforce/utils/triggers/">
//public/perforce/utils/triggers/...
</A></CODE></B>
<DD>
<p>
<LI><b>Authentication Triggers</b><br>
Authentication Triggers were introduced in the 2005.2 release of the Perforce
Server. There are two types of authentication triggers: <CODE>auth-check</CODE> 
and <CODE>auth-set</CODE>. See the 
<A href="http://www.perforce.com/perforce/doc.052/manuals/p4sag/index.html">
Perforce&nbsp;System&nbsp;Administrator&nbsp;Guide</A> for additional details.
Below are examples of the two new trigger types:
<p>
<table border=1 cellpadding=3>
<tr>
<td NOWRAP><b>Script Name</b><td NOWRAP><b>Trigger Type</b>
  <td width="100%"><center><b>Description</b></center></tr>
<tr>
  <td><B><A href="./triggers/p4authenticate.pl">p4authenticate.pl<A></B>
  <td>auth-check
  <td>Simple example of LDAP authentication written in Perl.</tr>
<tr>
  <td><B><A href="./triggers/p4authenticate.c">p4authenticate.c<A></B>
  <td>auth-check
  <td>Simple example of LDAP authentication written in C.</tr>
<tr>
  <td><B><A href="./triggers/testpass.pl">testpass.pl<A></B>
  <td>auth-check
  <td>Test trigger to confirm authentication check is working.</tr>
</tr>
</table>


<P>
<LI><b>In, Out, Save, Delete, Content, Submit &amp; Commit Triggers</b><br>
In the 2004.2 release of the Perforce Server, six of the above trigger types 
were introduced. In the 2005.1 release, the <CODE>delete</CODE> trigger type 
was added. Examples of all of these trigger types can be found in the 
<A href="http://www.perforce.com/perforce/doc.051/manuals/p4sag/index.html">
Perforce&nbsp;System&nbsp;Administrator&nbsp;Guide</A>.

<p>
<LI><b>Pre-submit Triggers</b><br>
Prior to 2004.2 release of the Perforce Server, there was only one Perforce 
trigger type: the pre-submit trigger. The following are examples of pre-submit 
triggers (now referred to as triggers of type <CODE>submit</CODE>).
<p>
Unless otherwise noted, the trigger scripts below were written and contributed 
by<a href="/guest/jeff_bowles/jab.html">Jeff Bowles</a>.  

<P>
<table border=1 cellpadding=3>
<tr>
<td NOWRAP><b>Script Name</b><td><center><b>Description</b></center></tr>
<tr>
<td>
<B><A HREF="triggers/Jobs.pl">
Jobs.pl
</A></B>

<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>
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="http://public.perforce.com:8080/guest/jeff_bowles/perforce-triggers/triggers/CheckC.pl?ac=22">
CheckC.pl
</A></B>

<td>
A script to notice 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.<br>
<i>(For example, if "//depot/<u>x</u>/<u>y</u>/z.c"
exists, this won't allow you to create a file named "//depot/<u>X</u>/<u>Y</u>/one.c".)</i><br>
WARNING: This trigger can significantly affect performance.
<tr>
<td>
<B><A HREF="triggers/Pairs.pl">
Pairs.pl
</A></B>

<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>
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>
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>

</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:8080/@ra=s@/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="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:8080/@ra=s@/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:8080/@md=d&ra=s@//neil_russell?ac=17">
Neil Russell</a>, who is also its curator. (See the
README file for more info.)


<P><DT><B>
<A HREF="http://public.perforce.com:8080/@ra=s@/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>
<!------------------------------------------------------------------>

<DL>

<P><DT><B>
<A HREF="http://public.perforce.com:8080/@ra=s@/public/perforce/utils/p4wrapper/">
//public/perforce/utils/p4wrapper/...
</A></CODE></B><DD>
<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.)


</DL>

<!------------------------------------------------------------------>
<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/perforce_software/utils/index.html#27 $</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
#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.