An omnivorous information addict. Still, graphics, rendering and programming languages are my favorite areas. A non-conformist wannabe.
Posts by Jaewon Jung
  1. A Fast, Type-safe & Minimal String Formatting Library, miniformat ( Counting comments... )
  2. The less the code, the better ( Counting comments... )
  3. Smoothsort vs. Timsort ( Counting comments... )
  4. Generating Uniformly Distributed Points on Sphere ( Counting comments... )
  5. Simulating a Loaded Dice in a Constant Time ( Counting comments... )
  6. All the nuances of static_cast (and others) ( Counting comments... )
  7. Getting the Projected Extent of a Sphere to the Near Plane ( Counting comments... )
  8. Search by a Changelist Description in Perforce ( Counting comments... )
  9. GUI Test Automation using SIKULI ( Counting comments... )
  10. Sudoku Solver in Haskell ( Counting comments... )
Technology/ Code /

I happened to experience Perforce first time in the current company. It's been a decent tool worth its salt. But one thing I noticed and surprised was the lack of a proper support for searching submitted changelists for a submit log(or 'description' in Perforce parlance). It's not impossible as this page suggests. Still it's such a basic and frequently-used feature in my opinion and it's a shame on Perforce that it still doesn't have an easy solution for it readily available.

So I made a small command-line utility called p4search using AutoIt script. I'll describe how one can use it here although the project wiki page already explains it briefly.

  • It internally uses p4sql, so you have to download and install P4Report package from Perforce website.
  • The path to the 'p4sql.exe' is hard-coded in the source like "C:\Program Files (x86)\Perforce\P4Report\p4sql.exe". You have to change it if you install it elsewhere. ;)
  • In order to build the source .au3 file into an executable, you need the AutoIt tool set from here.
  • A built binary can be run with three command-line arguments of a Perforce user name, a filespec, and a description text to search for. If less-than-three arguments are given, three dialogs will pop up in order to ask each information.
  • More conveniently, you can integrate this to the Perforce client as a custom tool as follows:

  • Custom tool set-up


    Right-click on a folder to search in the repository -> Click the registered 'p4search' item


    Input a text to search for to the dialog


    Result dialog

I hope this shabby tool and its shabbier source code to be helpful for someone.