Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
I still haven't documented the xxxinfo format for the new builds... here it is (in bare form anyway - sorry it's a bit terse). Each file has (potentially) two default format strings. One for the command line parameters and one for the STDIN data. If you don't override them then the defaults are used for that part. The full options I'll describe below, but the defaults are: command line stdin taginfo %t %o %p %<(s v} verifymsg %l loginfo (see below) historyinfo %t|%d|%u|%w|%s|%v notify (see below) commitinfo %r/%p %<s precommand %r %c %<a postcommand %r/%p %c premodule %r/%p %c %o postmodule %r/%p %c %o loginfo default stdin is: %<< Update of %r/%p\nIn directory %H:%P\nModified Files:\n\t(list of files)\nLog Message:\n%m notify default stdin is: %<< %p %f\n--\nTriggered by %y watch on %r\nBy %u These are the formatting options available for each file: Global - available to all commands: %c - command being executed %d - date/time of command %h - remote host name %u - cvs username %r - repository alias %R - repository location %S - session/commit id %e - editor ($CVSEDITOR) %H - local host name %P - server temporary directory %i - client version string, if supplied %n - empty string %% - % $<something> evaluates to one of 1. A cvs internal variable (CVSEDITOR,VISUAL,EDITOR,USER,CVSPID,SESSIONID,COMMITID,CVSROOT) 2. A user supplied variable (cvs -s foo=bar) 3. An environment variable (eg. PATH) %{...} groups a series of options into individual parameters. The default separator is a comma but if you separate the options by spaces then spaces are used, as in: %{sVv} - repository file1,ver1a,ver1b file2,ver2a,ver2b %{s V v} - repository "file1 ver1a ver1b" "file2 ver2a ver2b" %s %V %v - repository file1 file2 ver1a ver2a ver1b ver2b %< is an option sent to stdin (see below) commitinfo: %s - filename %m - message %p - current directory relative to root taginfo: %m - message %p - current directory relative to root %s - list of affected filenames %v - versions of affected filenames %b - type of tag (T,N,?) %o - operation (add,mov,del) %t - tag name verifymsg: %p - current directory relative to root %l - filename to verify loginfo: %m - message %T - status string (used by import?) %p - directory relative to root %s - repository name followed by list of filenames %V - list of old versions %v - list of new versions %b - list of bug ids %t - list of tags %y - list of change types ('U','C','M', etc.) history: %t - history entry type %w - working directory (in history format) %v - revisions affected %s - filename precommand: %a - list of arguments passed on command line premodule, postmodule: %o - module name postcommand, postcommit: %p - directory relative to cvsroot notify: %m - message supplied on command line %b - bug identifier %p - directory relative to cvsroot %s - user being notified %t - tag or branch %y - notification type %f - file being notified stdin and multiline arguments Anything that goes to stdin uses %<, so for example %<c puts the command name on stdin. You can format long strings to stdin using %<< and split lines using \n: %<< The command entered was %c\nThe date is %d\n (%<< must be the last %< on the line as it sends all subsequent characters to stdin without any further checks). If the text is even longer you can use a special form of this: DEFAULT parseme.pl %<<FOO The command entered was %c The date is %d FOO Tony