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:
Value CM System
rcs Revision Control System
sccs Source Code Control System
aide-de-camp Aide-de-Camp from SMDS
clearcase ClearCase
pvcs PVCS from INTERSOLV
cvs Concurrent Version Control System
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:
CMaction Meaning
-ci Check in a file
-co Check out a file
-uci Uncheck in a file
-uco Uncheck out a file
-vi Check in a file for the first time.
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)