index.html #5

  • //
  • guest/
  • laura_wingerd/
  • perforce/
  • utils/
  • 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 in need of one or more responsible, knowledgeable curators.
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>
Until a curator is found, 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>
<!------------------------------------------------------------------>





<!------------------------------------------------------------------>
<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/CheckC.pl">
CheckC.pl
</A></B>
<td><img src="triggers/afraid.gif">
<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.
<p><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>
<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/emacs">
//public/perforce/utils/emacs/...
</A></CODE></B><DD>
<DD>
Simple Perforce-Emacs integration.

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

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

<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/laura_wingerd/perforce/utils/index.html#5 $</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
#5 144 Laura Wingerd Integrate from //public.
#4 143 Laura Wingerd List the two versions of perfbrowse.
#3 97 Laura Wingerd Pull in from //public/...
#2 95 Laura Wingerd Pull in new triggers stuff.
#1 37 Laura Wingerd Prototype project index pages.