CM.SH(1)

     NAME
          cm.sh - Common command line interface to all of the popular
          configuration management systems

     SYNOPSIS
          cm.sh [-i 'BugID[ BugID ...]']  [-c Comments]  optargs
          CMaction File [File ...]

     DESCRIPTION
          cm.sh(1) performs CMaction on File(s) and associates
          BugID(s) with each of them. The BugID(s) and their headlines
          along with Comments are concatenated together to become the
          CM systems comment field. The first BugID is also used to
          determine which CM system to use by looking up the CM system
          associated with the BugID's Project in ClearDDTS. If the
          BugID argument is empty, is equal to 'NOID', or ClearDDTS is
          not installed, the CM system is then determined by the
          following:

          1st - the value of $DDTSCMSYSTEM
          2nd - the value of $QTESTCMSYSTEM
          3rd - from the file ~ddts/etc/default_cm_system
          4th - from the file ~qtest/etc/default_cm_system

          The above should be set to one of the following CM system
          values:  
          The script also looks to see if it has been called with a
          name different than cm.sh.  If it has and the name has a CM
          action as its suffix then that CMaction will be performed.

          For example:
                cm.sh -i XXXxx12345 -co /aaa/bbb/foo.c  bar.c
                bco   -i XXXxx12345 /aaa/bbb/foo.c  bar.c

          are treated identically.  So if your company is called Foo
          Incorporated you might want to create links to this script
          like:

                cd ~ddts/bin or ~qtest/bin
                ln cm.sh fci            #  checkin
                ln cm.sh fco            #  checkout
                ln cm.sh fuci           #  uncheckin
                ln cm.sh fuco           #  uncheckout
                ln cm.sh fvi            #  version init

          This would be the Foo Incorporated CM interface.  We
          strongly suggest that you do this, it makes this interface
          more symetric to standard SCCS, RCS, ClearCase, etc.  As
          shipped ClearDDTS has five links to this script called:

               cm.ci            For Checkout
               cm.co            For Checkin
               cm.uci           For Uncheckout
               cm.uco           For Uncheckin
               cm.vi            For Version init

     OPTIONS
          -i 'BugID [BugID...]'
                Is a list of space delimited Bug IDs that the CM
                action should be associated with. It must be 1
                argument so don't forget the quotes. If this argument
                is empty('') or is equal to 'NOID' then the CMaction
                will be performed but no Bug ID(s) will be associated
                with it.  If -i is not supplied then you will be
                prompted for Bug IDs from standard input.

          Comments
                Is the user comment about the CMaction.  If the
                comment is 'ask', you will be prompted interactively
                for the user comment.

          optargs
                These are used to change the default behavior.  These
                can either override the values that would normally be
                determined from the bugid or control the interaction
                with ClearDDTS:

                -p Project     - use Project to determine the CM system
                -h 'Headline'  - use Headline for the headline value
                -cm CMsystem   - use CMsystem instead of the default
                -nocm2ddts     - do not perform a cm2ddts transaction
                -wait          - wait for cm.in to finish before exiting

          CMaction
                Is the CM actions that should be performed. It should
                be one of the following:
          File [File...]
                Are the files to perform the CMaction on. Absolute and
                relative pathnames are supported.

          Examples:
                cm.sh -i XXXxx12345 -co /aaa/bbb/foo.c  bar.c
                cm.sh -i 'XXXxx12345 XXXxx67890' -ci /aaa/bbb/foo.c  bar.c
                cm.sh -i "XXXxx12345 XXXxx67890" -uco /aaa/bbb/foo.c  bar.c

     SEE ALSO
          cm2ddts(1), cmsetuser(1), cm.sccs.sh(1),
          cm.clearcase.sh(1), cm.rcs.sh(1), cm.aide-de-camp.sh(1),
          cm.pvcs.sh(1), cm.cvs.sh(1)