<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="description" content="Perforce German User Group">
<meta name="keywords" content="perforce german user group deutsch benutzer gruppe">
<title>Robert Cowham's Perforce Related Utilities</title>
<link rel=stylesheet type="text/css" href="style.css">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<h1>Perforce Utilities</h1>
<p>Written by <a href="http://public.perforce.com/guest/robert_cowham/pcp.html">Robert Cowham</a> (Perforce Consulting
Partner and Certified Trainer).</p>
<p>Here are some example utility scripts which I have found useful from time to
time. They are provided with no warranty - <b>use at your own risk! </b>Have a
quick look inside to see parameters etc.</p>
<h3>P4GUI Utilities</h3>
<p>See
<a href="http://public.perforce.com/guest/robert_cowham/perforce/utils/p4gui/index.html">
this page</a> for a list of GUI utilities to add in to the Tools menu for p4win
or p4v.</p>
<p>You also <a href="http://public.perforce.com:8080/@md=d&cd=//guest/robert_cowham/perforce/&c=8hH@//guest/robert_cowham/perforce/utils/?ac=83" target="_blank">browse this directory in P4Web</a>.</p>
<h3>Trigger Utilities</h3>
<p>See
<a href="triggers/index.html">this page</a> for a list of triggers with a
suitable framework.</p>
<h3>Other Utilities</h3>
<table border="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber2" dir="ltr">
<tr>
<td dir="ltr"><a href="specsaver.rb">specsaver.rb</a></td>
<td dir="ltr">A branch of Tony Smith's script - updated for Ruby 1.8 - does
automated versioning of various spec entities (e.g. client specs, branch
specs, labels etc).</td>
</tr>
<tr>
<td dir="ltr"><a href="p4checkpoint.pl">p4checkpoint.pl</a> </td>
<td dir="ltr">A branch of Sandy Currier's script to do checkpoints and backups. Enhance
to do verifies and email the results.</td>
</tr>
<tr>
<td dir="ltr"><a href="SaveLabels.pl">SaveLabels.pl</a></td>
<td dir="ltr">An (old) script which stores the contents of labels as text files in
Perforce. Left for posterity but specsaver.rb above does this better!</td>
</tr>
<tr>
<td dir="ltr"><a href="CreateClient.pl">CreateClient.pl</a></td>
<td dir="ltr">A simple script to create clients from others copying over other stuff
as well as just the views (e.g. options). Again, somewhat dated these days.</td>
</tr>
<tr>
<td dir="ltr"><a href="p4replicate/p4replicate.html">p4replicate</a></td>
<td dir="ltr">A script for replicating changelists between two Perforce
servers. See link for documentation.</td>
</tr>
</table>
<h3>Visual Source Safe (VSS) Scripts</h3>
<p>A bit hacky (e.g. env stuff still hard coded in) but shows example of how to use VSS OLE
Automation from Perl. They tend to be recursive and take a single parameter
which is VSS path to start from, e.g.</p>
<pre>vss_deleted_files.pl "$/project 1/subdir"
</pre>
<table border="0" style="border-collapse: collapse" bordercolor="#111111" id="table1" dir="ltr">
<tr>
<td dir="ltr"><a href="vss_deleted_files.pl">vss_deleted_files.pl</a> </td>
<td dir="ltr">A script to print out a list of VSS files and directories
which are marked as deleted.</td>
</tr>
<tr>
<td dir="ltr"><a href="vss_deleted_files.rb">vss_deleted_files.rb</a> </td>
<td dir="ltr">A Ruby script to print out a list of VSS files and directories
which are marked as deleted.</td>
</tr>
<tr>
<td dir="ltr"><a href="vss_rev_date_problems.rb">vss_rev_date_problems.rb</a> </td>
<td dir="ltr">A Ruby script to print out a list of VSS files which have revisions missing or later revisions
with earlier date/times.</td>
</tr>
<tr>
<td dir="ltr"><a href="vss_illegal_filenames.pl">vss_illegal_filenames.pl</a> </td>
<td dir="ltr">Prints out VSS files that are "illegal" as far as Perforce is
concerned (e.g. have @, #, *, % or unprintable chars in their name).</td>
</tr>
<tr>
<td dir="ltr"><a href="vss_linked_files.pl">vss_linked_files.pl</a> </td>
<td dir="ltr">A script to print out a list of linked (shared or branched) files in a VSS
repository. </td>
</tr>
</table>
<p><a href="http://public.perforce.com/guest/robert_cowham/index.html">Home</a></p>
<p><span style="font-size: 0.6em">Last updated: $Date: 2011/12/09 $</span></p>
</body>
</html>