Back to main page
Site Navigation: (* = offsite link)

Quick links:


(written by Michael Hohmuth)

This is a short Perl script that repairs PVS .prf files containing merge conflicts induced by a CVS update or join (i.e., files containing conflicts marked with "<<<<<<< ======= >>>>>>>"). This script helps groups of people using CVS to collaborate working in the same PVS source files.

Download prfmerge!

The output of this script is a .prf file that contains everything of the CVS version, plus everything the conflicting private version added to the previous CVS version. If the script detects a proof that changed incompatibly in the private version, it keeps both versions of the proof; the private version's proof is renamed to "-ALT-".

Run this script with no arguments to get this short help screen:

usage: prfmerge [options] {in.prf | -} [out.prf | -]
       prfmerge -i [options] in1.prf [ in2.prf ...]
Options:  -i  In-place editing of one or multiple files; output goes input file
          -b  Back up out.prf as out.prf~ before writing, if out.prf exists
          -h  Print this help message
          -s  Silent: prevent informative messages
          -v  Verbose: print more informative messages (on stderr)
          -d  Print debug messages (on stderr)
          -D  Print parser-debugging messages (on stderr)
Reads from stdin if "-" is specified as input.
If no out.prf has been specified, output goes to stdout.
File names in.prf and out.prf can be identical.

So far, the script has been lightly tested. Please use it with care. If you find bugs or have any kind of suggestions or improvements, please don't hesitate to contact me.

This program is in the public domain. No warranty, expressed or implied, is made by the Michael Hohmuth or TU Dresden as to the accuracy and functioning of the programs and related program material, nor shall the fact of distribution constitute any such warranty, and no responsibility is assumed by Michael Hohmuth or TU Dresden in connection therewith.

Last modified on Last modified: Fri Jul 18 19:30:36 2003

Hendrik Tews <>
Michael Hohmuth <>