Patch Maker - Command Reference

Arguments in [square brackets] are optional

Command Abbr Args Description
help h   Prints the list of Patch Maker commands and what they do.
version     Prints Patch Maker's version number.
add a <filenames> Adds the given files to the current patch. If none are given takes input from stdin.
remove r <filenames> Removes the given files from the current patch. If none are given takes input from stdin.
list l [<patchref>] Prints a list of the files which are part of the current or a given patch.
which w   Prints the current patch reference.
switch s <patchref> Changes Patch Maker from working on the current patch reference to working on a different one.
rename rn <new patchref> Changes the patch reference of the current patch to a new value.
edit e [<pattern>] Brings up in your editor any files in the current patch which match <pattern>. <pattern> is a simple glob, with implied leading and trailing *s. Passing no arguments opens all files.
diff d [passed through] does a diff -u for all the files in the file list, and stores the result in the data directory. Extra arguments to this command are passed through to diff - for example, "-w".
view v [<patchref>] Brings up the current or a given patchref's diff in an editor window so you can review it.
patch p [passed through] Patches your diff back in to the build you are currently sitting in. Pass -R to back the patch out again.
grep g <string> Searches all added files for a given string, case-insensitively.
execute x <command line> Runs the given command once, with all files in the file list as arguments added to the end.
update u [passed through] Does an SCM update operation on all the files in the file list.
checkin ci [passed through] Checks all files in the file list into your SCM. It runs pm which, pm update, pm diff and pm view first for you, to show you what you are about to change and make sure it's really what you want to do.
scmadd sa [passed through] Does an SCM add operation on all the files (already-added files will fail with a harmless message). If you've added new files and are using CVS, you need to do this before diff will work properly.


Out of the box, Patch Maker supports the following two invocation forms:

  • pm <command> <args>
    e.g. pm add test.js
  • pm <abbr-command> <args>
    e.g. pm a test.js

If you run pm --init, Patch Maker creates aliases or batch files so you can also use the following two forms:

  • pm<command> <args>
    e.g. pmadd test.js
  • pm<abbr-command> <args>
    e.g. pma test.js

MacOS X: Once you have run pm --init you must run "rehash" or open a new terminal window for Patch Maker to work.

Original URL: