Perforce Utilities

Written by Robert Cowham (Perforce Consulting Partner and Certified Trainer).

Here are some example utility scripts which I have found useful from time to time. They are provided with no warranty - use at your own risk! Have a quick look inside to see parameters etc.

P4GUI Utilities

See this page for a list of GUI utilities to add in to the Tools menu for p4win or p4v.

You also browse this directory in P4Web.

Trigger Utilities

See this page for a list of triggers with a suitable framework.

Other Utilities

specsaver.rb 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).
p4checkpoint.pl     A branch of Sandy Currier's script to do checkpoints and backups. Enhance to do verifies and email the results.
SaveLabels.pl An (old) script which stores the contents of labels as text files in Perforce. Left for posterity but specsaver.rb above does this better!
CreateClient.pl 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.
p4replicate A script for replicating changelists between two Perforce servers. See link for documentation.

Visual Source Safe (VSS) Scripts

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.

vss_deleted_files.pl "$/project 1/subdir"
vss_deleted_files.pl      A script to print out a list of VSS files and directories which are marked as deleted.
vss_deleted_files.rb      A Ruby script to print out a list of VSS files and directories which are marked as deleted.
vss_rev_date_problems.rb      A Ruby script to print out a list of VSS files which have revisions missing or later revisions with earlier date/times.
vss_illegal_filenames.pl      Prints out VSS files that are "illegal" as far as Perforce is concerned (e.g. have @, #, *, % or unprintable chars in their name).
vss_linked_files.pl      A script to print out a list of linked (shared or branched) files in a VSS repository.

Home

Last updated: $Date: 2011/12/09 $