Chapter 2 Reference Pages

In the following sections, all SDE commands are described in the same way as in the ordinary Unix command pages.

2.1 General Information about the Commands

Almost all the commands contain parameters and options. Options are defined by the minus "-" sign. They must precede the parameters in the commands. It is not necessary to specify the complete options, the most significant characters are sufficient, in most cases a first character defines the option.

In most cases the parameters are optional. If they are not defined, values for them will be asked by the command showing the default values.

Some parameters accept a wild card specification, i.e. characters "*" and "?" which denote any string or and character. However, when you define these characters directly in the command line, they must be passed to the command, not translated by the shell. This means that they have to be enclosed in quotas (`*') or preceded by a backslash (\). When you answer to the command prompts, you may directly type these characters.

2.2 SDE Man Pages

NAME ->

sde_overview - List SDE commands.

SYNOPSIS

man sde_overview

DESCRIPTION

SDE (Software Development Environment) is a software package that supports development and maintenance of software products.
This manual page lists all commands supplied by SDE. The commands are listed in alphabetic ordning. More detailed command descriptions may be found in their manual pages.

MAN PAGE
COMMAND - DESCRIPTION

checkcomb
checkcomb - Checks a combination between two in one RCS librarys

checkin
checkin - checks files into the RCS library.

checkout
checkout - check out files from a RCS library and locks RCS files

checktree
checktree - check protection (permissions) of directories/files in a directory tree.

chtree
chtree - change mode, owner or group of a directory tree

ci
ci - check in RCS revisions

co
co - check out RCS revisions

concatman
concatman - Concatenate Manual Page Files

cover
cover - check out files from a RCS library

cr
cr - description over all cr commands

cradd
cradd - register file versions and copy their log messages into a CR

craddf
craddf - register files into a CR

craddt
craddt - add a text description to a CR

crassign
crassign - assigns a CR to a user

crcat
crcat - print CRs

crcheck
crcheck - compare contents of CRs with the changes made in a SDE system

crcre
crcre - create a CR

crdel
crdel - delete CRs

createInternals
createInternals - create internals.mkf for the current system

cred
cred - edit a CR

credt
credt - edit a CR description

crform
crform - print CRs in a FrameMaker format

crlf
crlf - list files specified in CRs

crls
crls - list CRs

crmanager
crmanager - SDE CR Manager

crremf
crremf - remove files from a CR

crren
crren - rename a CR

crstate
crstate - change a CR state

crsymname
crsymname - define a symbolic name for a CR

crterminate
crterminate - terminate a CR

diff
diff - find differences between two files

diff3
diff3 - find differences between three files

difftree
difftree - list files that differ in two directory trees

gplist
gplist - list files that belong to a group.

gzip
gzip, gunzip, zcat - compress or expand files

ident
ident - identify RCS keyword strings in files

imports
imports - list import definitions

indent
indent - program for formatting of source code of C and C++ programs.

lnadd
lnadd - Create symbolic links to files placed in another directory.

lnlist
lnlist - list all files in a directory and show which files are (or are not) defined as symbolic links

lnmerge
lnmerge - copy files pointed out by symbolic links to the place where the links were defined

lntree
lntree - copy a directory tree and make symbolic links to all files in the source directory tree

lsver
lsver - list files and show which are versioned

make
make
- GNU make utility to maintain groups of programs

makeman
makeman - make manual page from pure text.

manDate
manDate - modify product/date information in man page file(s)

mantomif
mantomif - Convert a manual page nroff file to

merge
merge - three-way file merge

mfind
mfind - find file in /ipa/systems or in /ipa/products.

mgTemplate
mgTemplate.c - template for test of mangen

mifform
mifform - Script to format new mif format files

mkmf
mkmf - make a makefile

mktree
mktree - create a directory tree

p_addmember
project addmember - add a new member to a project

p_addsystem
project addsystem - add a new system to a project

p_addwd
project addwd - add working directories for a project member

p_chmanager
project chmanager - change the manager of a project

p_create
project create - create a new project

p_delete
project delete - remove a project

p_delmember
project delmember - remove a user from a project

p_delsystem
project delsystem - remove a system from a project

p_info
project info - provide information about projects

p_lnadd
project lnadd - create symbolic links in a project work structure to the files placed in the system configuration

p_rename
project rename - rename a project

p_set
project set - set a project as current project

p_terminate
project terminate - terminate a project

patinstall
patinstall - install patch to a product release.

patls
patls - list patches present in a product release.

patuninstall
patuninstall - uninstall patch to a product release.

pcopy
pcopy - copy files to a product structure

pdcheck
pdcheck - check Product Definition file(s)

pmrcre
pmrcre - Create pmr from file

pmrimpcr
pmrimpcr - Import information from CR in SDE to PMR

pmrlist
pmrlist - List information about PMR actions and change request documents for user.

pmrrel
pmrrel - Create Release Activity in PMR

pmrtocr
pmrtocr - Create a CR in SDE with information from the PMR database.

prod_create
product create - create a new product

prod_delete
product delete - delete a product or a part of it

prod_goto
product goto - go to a product directory

prod_info
product info - provide information about products

prod_merge
product merge - merge all the components of the product

prod_newrel
product newrel - create a new release structure

prod_rename
product rename - rename a product, product release, or product directory

prodm
prodm - SDE-Product Manager tool

product
product - invoke product commands

project
project - invoke project commands

projm
projm - SDE-Project Manager tool

pspec
pspec - generate Product Specification information

ptool
ptool - source code printout utility

rcs
rcs - change RCS file attributes

rcsclean
rcsclean - clean up working files

rcscomb
rcscomb - Copies selected versions of RCS files from one RCS library to another.

rcsdiff
rcsdiff - compare RCS revisions

rcsfind
rcsfind - Search a directory tree for RCS files matching some criteria.

rcsfreeze
rcsfreeze - freeze a configuration of sources checked in under RCS

rcsinfo
rcsinfo - Provide information about RCS library.

rcsiniw
rcsiniw - Initiate a RCS directory for new work session.

rcsintro
rcsintro - introduction to RCS commands

rcsmerge
rcsmerge - merge RCS revisions

rcsname
rcsname - define a symbolic name for a version of a RCS file

rcsp
rcsp - delete versions of a file in a RCS library.

rcspurge
rcspurge - delete versions of a file in a RCS library.

rcsstate
rcsstate - define status for a version of a RCS file

rdtterm
rhpterm, rdtterm, rxterm - Create a hpterm, dtterm or xterm window to a remote host

rentree
rentree - renames a directory tree

rhpterm
rhpterm, rdtterm, rxterm - Create a hpterm, dtterm or xterm window to a remote host

rlog
rlog - print log messages and other information about RCS files

rxterm
rhpterm, rdtterm, rxterm - Create a hpterm, dtterm or xterm window to a remote host

s_build
system build - build a system configuration or a part of it.

s_chmanager
system chmanager - change the manager of a system

s_combine
system combine - Copies selected versions of RCS files from one system configuration to the original one.

s_create
system create - create a new system

s_delete
system delete - delete a system or a subsystem

s_establish
system establish - Establish a system configuration.

s_info
system info - provide information about systems

s_newconf
system newconf - create a new system configuration

s_newsub
system newsub - create a new subsystem

s_rcsinfo
system rcsinfo - Provide information about RCS libraries in a system configuration.

s_rcsiniw
system rcsiniw - Initiate a system configuration for work.

s_rcsname
system rcsname - define symbolic names of RCS files in a system configuration.

s_rcspurge
system rcspurge - delete versions of RCS files in a system configuration

s_rcsstate
system rcsstate - define status for versions of RCS files in a system configuration

s_rename
system rename - rename a system, configuration or subsystem

s_set
system set - set a new system

sde
sde - SDE Control Panel

sde_overview
sde_overview - List SDE commands.

srclines
srclines - count C and C++ source lines, with and without comments

system
system - invoke system commands

systm
systm - SDE-System Manager tool

template
command name - write a command name in bold and a short description of the command.

traverse
traverse - traverse a directory structure and execute a command in each directory

vaxlog
vaxlog - create a vt100 terminal window and login on a remote node

verwork
verwork - SDE VersionWorks

wtitle
wtitle - Write a window title

xdir
xdir - display a directory tree as a graph using the xtree command.

xtree
xtree - program for graphical presentation and manipulation of tree structure


NAME

checkcomb - Checks if selected versions of RCS files in one RCS library can be combined into another RCS library.

SYNOPSIS

checkcomb [options] files RCS_dest

DESCRIPTION


The checkcomb command checks if specified versions of files placed in the RCS source library can be combined into the RCS_dest library. This check must be done before any combining of the RCS libraries can be done.

The command checks so there is no later version of each file in the RCS_dest library than in the RCS source library. For example, it is illegal to combine file1, if the version in the source directory is 1.6, but the one in the RCS_dest library is 1.7. (A file is combined with the same version as in the RCS source library).

A library is illegal to combine, if any file is illegal to combine. If a library is illegal to combine, it can if necessary be combined into a branch. See rcscomb(1).

The command produces a list, checkcomb.lis, placed in the source directory. This list is used when the directory is combined, and must not be removed. After the combining the list is removed.

PARAMETERS

files
Specifies which files will be checked. All specified files that match values are checked. Normally all files from the source RCS directory are taken.

RCS_dest
Specifies the RCS library where the RCS files are checked to.

OPTIONS

If no option is specified then the latest versions are checked.

-rrev
Select the latest version of files whose number is less than or equal to rev. If rev indicates a branch rather than a version, the latest version on that branch is retrieved. If -r rev is omitted, the latest version on the default branch is retrieved. If rev is $, the command determines the version number from keyword values in the working file. Otherwise, a version is composed of one or more numeric or symbolic fields separated by periods.

-sstate

Select the latest version on the selected branch whose state is set to state.

-wlogin

Select the latest version on the selected branch which was checked in by the user with login name login.

-xsuffixes

Select files specified by the suffixes for RCS files. A nonempty suffix matches any pathname ending in the suffix. An empty suffix matches any pathname of the form RCS/file or path/RCS/file. The -x option can specify a list of suffixes separated by /. For example, -x ,v/ specifies two suffixes: ,v and the empty suffix. If two or more suffixes are specified, they are tried in order when looking for an RCS file; the first one that works is used for that file. If no RCS file is found but an RCS file can be created, the suffixes are tried in order to determine the new RCS file's name. The default for suffixes is installation-dependent; normally it is ,v/ for hosts like Unix that permit commas in file names, and is empty (i.e. just the empty suffix) for other hosts.

-ddate

Select the latest version on the selected branch whose checkin date/time is less than or equal to date. The date and time may be given in free format. The time zone LT stands for local time; other common time zone names are understood. For more details see the co(1) command.

-v Lists all checked files, and the checked versions of each file.

EXAMPLES

checkcomb -rR1_0_0 /rel/RCS

checks if all the file versions specified by the symbolic name R1_0_0 from the RCS library placed in the current directory can be combined into the /rel/RCS directory.

checkcomb /rel/RCS

takes the latest versions of all the files from the original RCS library (in current directory) and checks if they can be combined into the /rel/RCS.

SEE ALSO

rcscomb(1), s_combine(1)

AUTHOR

Elisabet de Waal

NAME

checkin - checks files into the RCS library.

SYNOPSIS

checkin [-cChangeRequest | -CChangeRequest] [-i] [-D] [-ddate] [-lrev] [-qrev] [-frev] [-krev] [-rrev] [-xsuffixes] [-mtext] [-Mrev] [-nname] [-Nname] [-sstate] [-g grp] [ file...]

DESCRIPTION


The command checkin imports files into the RCS library. Only the files that are writable are checked in. The command corresponds to the menu command Check In and Create Initial Version from the Softbench Version menu, except that it does not compare the dates on the files.

PARAMETERS

file ... denotes the files to be checked in. A wild card naming my be used when specifying files. If no file is specified then all files present in the current directory are taken (however not hidden files, i.e. files which names start with a dot).

OPTIONS

-cChangeRequest | -CChangeRequest
Specifies the Change Request to which the files should be registered. If the -c option is used then the file name and version are registered. If the -C option is specified, then the file name and version are registered and the log message is added to the CR description. The option -c (or -C) is mandatory when the environment variable SDE_CR_CI is set to ON.

-i Ask for each file to be checked in.

-D Delete the working version of the file after the checkin.

-ddate
Uses date for checkin date and time. The date is specified in free format (see co(1)). If date is empty, the working file's time of last modification is used.

-lrev Lock the deposited version and keep the working version of the file for further editing.

-qrev Do not write a log message on the screen.

-frev Forces a deposit. The new revision is deposited even if it is not different from the preceding one.

-krev Searches the working file for keyword values to determine its revision number, creation date, state, and author (see co(1)), and assigns these values to the deposited versions, rather than computing them locally. It also generates a default login message noting the login of the caller and the actual checkin date. The extracted keyword values and the default log message may be overridden with the options -d, -m, -s, -w, and any option that carries a revision number.

-rrev Checks in a revision, releases the corresponding lock.

-xsuffixes
Select files specified by the suffixes for RCS files. A nonempty suffix matches any pathname ending in the suffix. An empty suffix matches any pathname of the form RCS/file or path/RCS/file. The -x option can specify a list of suffixes separated by /. For example, -x ,v/ specifies two suffixes: ,v and the empty suffix. If two or more suffixes are specified, they are tried in order when looking for an RCS file; the first one that works is used for that file. If no RCS file is found but an RCS file can be created, the suffixes are tried in order to determine the new RCS file's name. The default for suffixes is installation-dependent; normally it is ,v/ for hosts like Unix that permit commas in file names, and is empty (i.e. just the empty suffix) for other hosts.

-mtext
Store the description of the change into all files checked in.

-Mrev Set the modification time on any new working file to be the date of the retreived revision. Use this option with care: it can confuse make(1).

-nname
Assigns the symbolic name name to the number of the checked-in revision. If name is already assigned to another number an error message is printed.

-Nname
Same as -n, except that it overrides a previous assignment of name.

-sstate
Sets the state of the checked-in revision to the identifier state. The default state is Exp.

-g grp

Select files that belong to the group grp.

EXTERNAL INFLUENCES

When the environemnt variable SDE_CR_CI is defined as SDE_CR_CI=ON then the option -c or -C is mandatory.

EXAMPLES

checkin

SEE ALSO

lsver(1), cover(1), checkout(1), ci(1)

AUTHOR

Ivica Crnkovic, Marco Mohle

NAME

checkout - check out files from a RCS library and locks RCS files

SYNOPSIS

checkout [-i] [-ddate] [-lrev] [-qrev] [ -frev] [-rrev] [-urev] [-kkv] [-kkvl] [-kk] [-ko] [-kv] [-xsuffixes] [-prev] [-Mrev] [-sstate] [-wlogin] [-O] [-g grp] [ file...]

DESCRIPTION


The command checkout exports files from a RCS library and copies them to the current directory for editing. The corresponding RCS files are locked. The command corresponds to the menu command Check Out from the Softbench Version menu.

If the specified file version has the state Obsolete, it will not be checked until the -O option is specified.

PARAMETERS

file... denotes files to be checked out. A wild card naming may be used when specifying files.

OPTIONS

-i
Ask for each check out.

-ddate
Retreives the lates revision on the selected branch whose checkin date/time is less than or equal to date. The date and time may be given in free format (see co(1).

-lrev Update and lock the RCS file. This option should be used when the file is going to be modified (-l is always set by default).

-qrev Do not write a log message on the screen.

-frev Force updating independently of if the file is up to date or not (-f is always set by default).

-rrev Retreives the lates revision whose number is less than or equal to rev. If rev indicates a branch rather than a revision, the lates revision on that branch is retreived. If rev is omitted, the latest revision on the default branch is retreived. If rev is $, checkout determines the revision number from keyword values in the working file. Otherwise, a revision is composed of one or more numeric or symbolic fiellds separated by periods.

-urev same as -r, except that it that it unlocks the retreived revision if it was locked by the caller. If rev is omitted, -u retrieves the revision locked by the caller, if there is one; otherwise, it retreives the lates version on the default branch.

-O Checkout even if the version has the state Obsolete.

-kkv Generate keyword strings using the default form.

-kkvl Like -kkv, except that a lockers name is always inserted if the given revision is currently locked.

-kk Generate only keyword name in keyword strings; omit their values.

-ko Generate the old keyword string, present in the working file just before it was checked in.

-kv Generate only keyword values for keyword strings.

-xsuffixes
Use suffixes to characterize RCS files. See checkin() for details.

-prev Prints the retreived revision on standard output, rather than storing it in the working file.

-Mrev Set the modification time on the new working file to be the date of the retreived revision. Use this option with care; it can confuse make(1).

-sstate
Retreives the lates revision on the selected branch whose state is set to state.

-wlogin
Retreives the lates revision on the selected branch which was checked in by the user with login name login. If the login is omitted, the caller's login is assumed.

-g grp

Select files that belong to the group grp.

EXAMPLES

checkout -i project*

SEE ALSO

lsver(1), cover(1), co(1)

AUTHOR

Ivica Crnkovic, Marco Mohle

NAME

checktree - check protection (permissions) of directories/files in a directory tree.

SYNOPSIS

checktree [options ] path

DESCRIPTION


The checktree command shows protections, owner and group values for a directory tree. The command may be used in order to check that a product release is properly frozen (or unfrozen). By default, checktree shows permissions, owner and group values for all directories in the specified directory tree. Options can be used to change the behaviour.

PARAMETERS

path
is the path of the tree to be checked.

OPTIONS

-c
show only permissions (protection) of the files.

-o show only owner, group of the files.

-f show permissions of ordinary files too.

-nt "no tree", that is, do not traverse a directory tree but show only the permissions of the specified directory (and files in it, if -f is used).

EXAMPLES

checktree -c /ipa/products/ex_prod/1.0-0

SEE ALSO

chmod(1), chown(1), chgrp(1)

AUTHOR

Mats Medin

NAME

chtree - change mode, owner or group of a directory tree

SYNOPSIS

chtree [options ] path

DESCRIPTION


The chtree command modify protections, owner and group values for a directory tree. The command may be used in order to freeze (or unfreeze) a product release. Note that only an owner of the files may modify these values.

PARAMETERS

path
is the path of the tree to be modified.

OPTIONS

-c
chmod modifies the protection of the tree. Any argument for chmod command may be specified.

-o own
defines the owner of the files. Any argument valid for chown command may be specified.

-g grp
defines a group for the files. Any argument valid for chgrp command may be used.

-a filename
apply the command only on files with the specified name.

-e filename
apply the command on files that do not have the specified name.

-d apply the command only on directories.

-f apply the command only on ordinary files.

-r apply the command only on versioned files (*,v).

-v "verbose": shows the files and directories that are processed by the command.

-i asks for each file and directory in the tree if it should be processed.

-l Process symbolic links too. By default the symbolic links are skipped.

EXAMPLES

chtree -c 555 /ipa/products/ex_prod/1.0-0

SEE ALSO

chmod(1), chown(1), chgrp(1), product(1)

AUTHOR

Ivica Crnkovic


NAME

ci - check in RCS revisions

SYNOPSIS

ci [options]-file-.-.-.

DESCRIPTION

ci stores new revisions into RCS files. Each pathname matching an RCS suffix is taken to be an RCS file. All others are assumed to be working files containing new revisions. ci deposits the contents of each working file into the corresponding RCS file. If only a working file is given, ci tries to find the corresponding RCS file in an RCS subdirectory and then in the working file's directory. For more details, see FILE NAMING below.

For ci to work, the caller's login must be on the access list, except if the access list is empty or the caller is the superuser or the owner of the file. To append a new revision to an existing branch, the tip revision on that branch must be locked by the caller. Otherwise, only a new branch can be created. This restriction is not enforced for the owner of the file if non-strict locking is used (see rcs(1)). A lock held by someone else can be broken with the rcs command.

Unless the -f option is given, ci checks whether the revision to be deposited differs from the preceding one. If not, instead of creating a new revision ci reverts to the preceding one. To revert, ordinary ci removes the working file and any lock; ci--l keeps and ci--u removes any lock, and then they both generate a new working file much as if co--l or co--u had been applied to the preceding revision. When reverting, any -n and -s options apply to the preceding revision.

For each revision deposited, ci prompts for a log message. The log message should summarize the change and must be terminated by end-of-file or by a line containing .by itself. If several files are checked in ci asks whether to reuse the previous log message. If the standard input is not a terminal, ci suppresses the prompt and uses the same log message for all files. See also -m.

If the RCS file does not exist, ci creates it and deposits the contents of the working file as the initial revision (default number: 1.1). The access list is initialized to empty. Instead of the log message, ci requests descriptive text (see -t below).

The number rev of the deposited revision can be given by any of the options -f, -i, -I, -j, -k, -l, -M, -q, -r, or -u. rev can be symbolic, numeric, or mixed. Symbolic names in rev must already be defined; see the -n and -N options for assigning names during checkin. If rev is $, ci determines the revision number from keyword values in the working file.

If rev begins with a period, then the default branch (normally the trunk) is prepended to it. If rev is a branch number followed by a period, then the latest revision on that branch is used.

If rev is a revision number, it must be higher than the latest one on the branch to which rev belongs, or must start a new branch.

If rev is a branch rather than a revision number, the new revision is appended to that branch. The level number is obtained by incrementing the tip revision number of that branch. If rev indicates a non-existing branch, that branch is created with the initial revision numbered rev.1.

If rev is omitted, ci tries to derive the new revision number from the caller's last lock. If the caller has locked the tip revision of a branch, the new revision is appended to that branch. The new revision number is obtained by incrementing the tip revision number. If the caller locked a non-tip revision, a new branch is started at that revision by incrementing the highest branch number at that revision. The default initial branch and level numbers are 1.

If rev is omitted and the caller has no lock, but owns the file and locking is not set to strict, then the revision is appended to the default branch (normally the trunk; see the -b option of rcs(1)).

Exception: On the trunk, revisions can be appended to the end, but not inserted.

OPTIONS

-rrev
Check in revision rev.

-r The bare -r option (without any revision) has an unusual meaning in ci. With other RCS commands, a bare -r option specifies the most recent revision on the default branch, but with ci, a bare -r option reestablishes the default behavior of releasing a lock and removing the working file, and is used to override any default -l or -u options established by shell aliases or scripts.

-l[rev]
works like -r, except it performs an additional co--l for the deposited revision. Thus, the deposited revision is immediately checked out again and locked. This is useful for saving a revision although one wants to continue editing it after the checkin.

-u[rev]
works like -l, except that the deposited revision is not locked. This lets one read the working file immediately after checkin.

The -l, bare -r, and -u options are mutually exclusive and silently override each other. For example, ci- -u- -r is equivalent to ci -r because bare -r overrides -u.

-f[rev]
forces a deposit; the new revision is deposited even it is not different from the preceding one.

-k[rev]
searches the working file for keyword values to determine its revision number, creation date, state, and author (see co(1)), and assigns these values to the deposited revision, rather than computing them locally. It also generates a default login message noting the login of the caller and the actual checkin date. This option is useful for software distribution. A revision that is sent to several sites should be checked in with the -k option at these sites to preserve the original number, date, author, and state. The extracted keyword values and the default log message can be overridden with the options -d, -m, -s, -w, and any option that carries a revision number.

-q[rev]
quiet mode; diagnostic output is not printed. A revision that is not different from the preceding one is not deposited, unless -f is given.

-i[rev]
initial checkin; report an error if the RCS file already exists. This avoids race conditions in certain applications.

-j[rev]
just checkin and do not initialize; report an error if the RCS file does not already exist.

-I[rev]
interactive mode; the user is prompted and questioned even if the standard input is not a terminal.

-d[date]
uses date for the checkin date and time. The date is specified in free format as explained in co(1). This is useful for lying about the checkin date, and for -k if no date is available. If date is empty, the working file's time of last modification is used.

-M[rev]
Set the modification time on any new working file to be the date of the retrieved revision. For example, ci -d -M -uf does not alter f's modification time, even if f's contents change due to keyword substitution. Use this option with care; it can confuse make(1).

-mmsg uses the string msg as the log message for all revisions checked in. By convention, log messages that start with # are comments and are ignored by programs like GNU Emacs's vc package. Also, log messages that start with {clumpname} (followed by white space) are meant to be clumped together if possible, even if they are associated with different files; the {clumpname} label is used only for clumping, and is not considered to be part of the log message itself.

-nname
assigns the symbolic name name to the number of the checked-in revision. ci prints an error message if name is already assigned to another number.

-Nname
same as -n, except that it overrides a previous assignment of name.

-sstate
sets the state of the checked-in revision to the identifier state. The default state is Exp.

-tfile writes descriptive text from the contents of the named file into the RCS file, deleting the existing text. The file cannot begin with -.

-t-string
Write descriptive text from the string into the RCS file, deleting the existing text.

The -t option, in both its forms, has effect only during an initial checkin; it is silently ignored otherwise.

During the initial checkin, if -t is not given, ci obtains the text from standard input, terminated by end-of-file or by a line containing .by itself. The user is prompted for the text if interaction is possible; see -I.

For backward compatibility with older versions of RCS, a bare -t option is ignored.

-T Set the RCS file's modification time to the new revision's time if the former precedes the latter and there is a new revision; preserve the RCS file's modification time otherwise. If you have locked a revision, ci usually updates the RCS file's modification time to the current time, because the lock is stored in the RCS file and removing the lock requires changing the RCS file. This can create an RCS file newer than the working file in one of two ways: first, ci --M can create a working file with a date before the current time; second, when reverting to the previous revision the RCS file can change while the working file remains unchanged. These two cases can cause excessive recompilation caused by a make(1) dependency of the working file on the RCS file. The -T option inhibits this recompilation by lying about the RCS file's date. Use this option with care; it can suppress recompilation even when a checkin of one working file should affect another working file associated with the same RCS file. For example, suppose the RCS file's time is 01:00, the (changed) working file's time is 02:00, some other copy of the working file has a time of 03:00, and the current time is 04:00. Then ci--d--T sets the RCS file's time to 02:00 instead of the usual 04:00; this causes make(1) to think (incorrectly) that the other copy is newer than the RCS file.

-wlogin
uses login for the author field of the deposited revision. Useful for lying about the author, and for -k if no author is available.

-V Print RCS's version number.

-Vn Emulate RCS version n. See co(1) for details.

-cChangeRequest
registers the checked in files in the Change Request. This option (or -C) is mandatory when the environment variable SDE_CR_CI is set to ON.

-CChangeRequest
registers the checked in files and their log messages in the Change Request. This option (or -c) is mandatory when the environment variable SDE_CR_CI is set to ON.

-xsuffixes
specifies the suffixes for RCS files. A nonempty suffix matches any pathname ending in the suffix. An empty suffix matches any pathname of the form RCS/path or path1/RCS/path2. The -x option can specify a list of suffixes separated by /. For example, -x,v/ specifies two suffixes: ,v and the empty suffix. If two or more suffixes are specified, they are tried in order when looking for an RCS file; the first one that works is used for that file. If no RCS file is found but an RCS file can be created, the suffixes are tried in order to determine the new RCS file's name. The default for suffixes is installation-dependent; normally it is ,v/ for hosts like Unix that permit commas in filenames, and is empty (i.e. just the empty suffix) for other hosts.

-zzone
specifies the date output format in keyword substitution, and specifies the default time zone for date in the -ddate option. The zone should be empty, a numeric UTC offset, or the special string LT for local time. The default is an empty zone, which uses the traditional RCS format of UTC without any time zone indication and with slashes separating the parts of the date; otherwise, times are output in ISO 8601 format with time zone indication. For example, if local time is January 11, 1990, 8pm Pacific Standard Time, eight hours west of UTC, then the time is output as follows:


option time output
-z 1990/01/12 04:00:00 (default)
-z LT 1990-01-11 20:00:00-08
-z +05:30
1990-01-12 09:30:00+05:30

The -z option does not affect dates stored in RCS files, which are always UTC.

FILE NAMING

Pairs of RCS files and working files can be specified in three ways (see also the example section).

1) Both the RCS file and the working file are given. The RCS pathname is of the form path1/workfileX and the working pathname is of the form path2/workfile where path1/ and path2/ are (possibly different or empty) paths, workfile is a filename, and X is an RCS suffix. If X is empty, path1/ must start with RCS/ or must contain /RCS/.

2) Only the RCS file is given. Then the working file is created in the current directory and its name is derived from the name of the RCS file by removing path1/ and the suffix X.

3) Only the working file is given. Then ci considers each RCS suffix X in turn, looking for an RCS file of the form path2/RCS/workfileX or (if the former is not found and X is nonempty) path2/workfileX.

If the RCS file is specified without a path in 1) and 2), ci looks for the RCS file first in the directory ./RCS and then in the current directory.

ci reports an error if an attempt to open an RCS file fails for an unusual reason, even if the RCS file's pathname is just one of several possibilities. For example, to suppress use of RCS commands in a directory d, create a regular file named d/RCS so that casual attempts to use RCS commands in d fail because d/RCS is not a directory.

EXAMPLES

Suppose ,v is an RCS suffix and the current directory contains a subdirectory RCS with an RCS file io.c,v. Then each of the following commands check in a copy of io.c into RCS/io.c,v as the latest revision, removing io.c.

ci io.c; ci RCS/io.c,v; ci io.c,v;
ci io.c RCS/io.c,v; ci io.c io.c,v;
ci RCS/io.c,v io.c; ci io.c,v io.c;

Suppose instead that the empty suffix is an RCS suffix and the current directory contains a subdirectory RCS with an RCS file io.c. The each of the following commands checks in a new revision.

ci io.c; ci RCS/io.c;
ci io.c RCS/io.c;
ci RCS/io.c io.c;

FILE MODES

An RCS file created by ci inherits the read and execute permissions from the working file. If the RCS file exists already, ci preserves its read and execute permissions. ci always turns off all write permissions of RCS files.

FILES

Temporary files are created in the directory containing the working file, and also in the temporary directory (see TMPDIR under ENVIRONMENT). A semaphore file or files are created in the directory containing the RCS file. With a nonempty suffix, the semaphore names begin with the first character of the suffix; therefore, do not specify an suffix whose first character could be that of a working filename. With an empty suffix, the semaphore names end with _ so working filenames should not end in _.

ci never changes an RCS or working file. Normally, ci unlinks the file and creates a new one; but instead of breaking a chain of one or more symbolic links to an RCS file, it unlinks the destination file instead. Therefore, ci breaks any hard or symbolic links to any working file it changes; and hard links to RCS files are ineffective, but symbolic links to RCS files are preserved.

The effective user must be able to search and write the directory containing the RCS file. Normally, the real user must be able to read the RCS and working files and to search and write the directory containing the working file; however, some older hosts cannot easily switch between real and effective users, so on these hosts the effective user is used for all accesses. The effective user is the same as the real user unless your copies of ci and co have setuid privileges. As described in the next section, these privileges yield extra security if the effective user owns all RCS files and directories, and if only the effective user can write RCS directories.

Users can control access to RCS files by setting the permissions of the directory containing the files; only users with write access to the directory can use RCS commands to change its RCS files. For example, in hosts that allow a user to belong to several groups, one can make a group's RCS directories writable to that group only. This approach suffices for informal projects, but it means that any group member can arbitrarily change the group's RCS files, and can even remove them entirely. Hence more formal projects sometimes distinguish between an RCS administrator, who can change the RCS files at will, and other project members, who can check in new revisions but cannot otherwise change the RCS files.

SETUID USE

To prevent anybody but their RCS administrator from deleting revisions, a set of users can employ setuid privileges as follows.

· Check that the host supports RCS setuid use. Consult a trustworthy expert if there are any doubts. It is best if the seteuid system call works as described in Posix 1003.1a Draft 5, because RCS can switch back and forth easily between real and effective users, even if the real user is root. If not, the second best is if the setuid system call supports saved setuid (the {_POSIX_SAVED_IDS} behavior of Posix 1003.1-1990); this fails only if the real or effective user is root. If RCS detects any failure in setuid, it quits immediately.

· Choose a user A to serve as RCS administrator for the set of users. Only A can invoke the rcs command on the users' RCS files. A should not be root or any other user with special powers. Mutually suspicious sets of users should use different administrators.

· Choose a pathname B to be a directory of files to be executed by the users.

· Have A set up B to contain copies of ci and co that are setuid to A by copying the commands from their standard installation directory D as follows:


mkdir
cp
D/c[io] B
chmod go-w,u+s
B/c[io]

· Have each user prepend B to their path as follows:

PATH=B:$PATH; export PATH # ordinary shell
set path=(B $path) # C shell

· Have A create each RCS directory R with write access only to A as follows:

mkdir R
chmod go-w R

· If you want to let only certain users read the RCS files, put the users into a group G, and have A further protect the RCS directory as follows:

chgrp G R
chmod g-w,o-rwx R

· Have A copy old RCS files (if any) into R, to ensure that A owns them.

· An RCS file's access list limits who can check in and lock revisions. The default access list is empty, which grants checkin access to anyone who can read the RCS file. If you want limit checkin access, have A invoke rcs--a on the file; see rcs(1). In particular, rcs -e -aA limits access to just A.

· Have A initialize any new RCS files with rcs --i before initial checkin, adding the -a option if you want to limit checkin access.

· Give setuid privileges only to ci, co, and rcsclean; do not give them to rcs or to any other command.

· Do not use other setuid commands to invoke RCS commands; setuid is trickier than you think!

ENVIRONMENT

RCSINIT
options prepended to the argument list, separated by spaces. A backslash escapes spaces within an option. The RCSINIT options are prepended to the argument lists of most RCS commands. Useful RCSINIT options include -q, -V, -x, and -z.

TMPDIR Name of the temporary directory. If not set, the environment variables TMP and TEMP are inspected instead and the first value found is taken; if none of them are set, a host-dependent default is used, typically /tmp.

SDE_CR_CI
defines if the -c or -C options are obligatory. When the option is defined as SDE_CR_CI=ON then one of these two options must be specified.

DIAGNOSTICS

For each revision, ci prints the RCS file, the working file, and the number of both the deposited and the preceding revision. The exit status is zero if and only if all operations were successful.

IDENTIFICATION

Author: Walter F. Tichy.
Modified by Ivica Crnkovic
Manual Page Revision: 1.5; Release Date: 1996/10/08.

Copyright © 1982, 1988, 1989 Walter F. Tichy.
Copyright © 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.

SEE ALSO

co(1), emacs(1), ident(1), make(1), rcs(1), rcsclean(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1), setuid(2), rcsfile(5)
Walter F. Tichy, RCS-A System for Version Control, Software-Practice & Experience 15, 7 (July 1985), 637-654.

NAME

co - check out RCS revisions

SYNOPSIS

co [options]-file-.-.-.

DESCRIPTION

co retrieves a revision from each RCSs file and stores it into the corresponding working file.

Pathnames matching an RCSs suffix denote RCSs files; all others denote working files. Names are paired as explained in ci(1).

Revisions of an RCSs file can be checked out locked or unlocked. Locking a revision prevents overlapping updates. A revision checked out for reading or processing (e.g., compiling) need not be locked. A revision checked out for editing and later checkin must normally be locked. Checkout with locking fails if the revision to be checked out is currently locked by another user. (A lock can be broken with rcs(1).) Checkout with locking also requires the caller to be on the access list of the RCSs file, unless he is the owner of the file or the superuser, or the access list is empty. Checkout without locking is not subject to accesslist restrictions, and is not affected by the presence of locks.

A revision is selected by options for revision or branch number, checkin date/time, author, or state. When the selection options are applied in combination, co retrieves the latest revision that satisfies all of them. If none of the selection options is specified, co retrieves the latest revision on the default branch (normally the trunk, see the -b option of rcs(1)). A revision or branch number can be attached to any of the options -f, -I, -l, -M, -p, -q, -r, or -u. The options -d (date), -s (state), and -w (author) retrieve from a single branch, the selected branch, which is either specified by one of -f, .-.-., -u, or the default branch.

A co command applied to an RCSs file with no revisions creates a zero-length working file. co always performs keyword substitution (see below).

If the selected revision has the Obsolete state, it will be not checked out until the option -O is specified.

OPTIONS

-r[rev]
retrieves the latest revision whose number is less than or equal to rev. If rev indicates a branch rather than a revision, the latest revision on that branch is retrieved. If rev is omitted, the latest revision on the default branch (see the -b option of rcs(1)) is retrieved. If rev is $, co determines the revision number from keyword values in the working file. Otherwise, a revision is composed of one or more numeric or symbolic fields separated by periods. If rev begins with a period, then the default branch (normally the trunk) is prepended to it. If rev is a branch number followed by a period, then the latest revision on that branch is used. The numeric equivalent of a symbolic field is specified with the -n option of the commands ci(1) and rcs(1).

-l[rev]
same as -r, except that it also locks the retrieved revision for the caller.

-u[rev]
same as -r, except that it unlocks the retrieved revision if it was locked by the caller. If rev is omitted, -u retrieves the revision locked by the caller, if there is one; otherwise, it retrieves the latest revision on the default branch.

-f[rev]
forces the overwriting of the working file; useful in connection with -q. See also FILE MODES below.

-O forces the checkout even if the selected version has the state Obsolete.

-kkv Generate keyword strings using the default form, e.g. $Revision: 1.5$ for the Revision keyword. A locker's name is inserted in the value of the Header, Id, and Locker keyword strings only as a file is being locked, i.e. by ci--l and co-l. This is the default.

-kkvl Like -kkv, except that a locker's name is always inserted if the given revision is currently locked.

-kk Generate only keyword names in keyword strings; omit their values. See KEYWORD SUBSTITUTION below. For example, for the Revision keyword, generate the string $Revision$ instead of $Revision: 1.5-$. This option is useful to ignore differences due to keyword substitution when comparing different revisions of a file. Log messages are inserted after $Log$ keywords even if -kk is specified, since this tends to be more useful when merging changes.

-ko Generate the old keyword string, present in the working file just before it was checked in. For example, for the Revision keyword, generate the string $Revision: 1.1 $ instead of $Revision: 1.5 $ if that is how the string appeared when the file was checked in. This can be useful for file formats that cannot tolerate any changes to substrings that happen to take the form of keyword strings.

-kb Generate a binary image of the old keyword string. This acts like -ko, except it performs all working file input and output in binary mode. This makes little difference on Posix and Unix hosts, but on DOS-like hosts one should use rcs- -i- -kb to initialize an RCSs file intended to be used for binary files. Also, on all hosts, rcsmerge(1) normally refuses to merge files when -kb is in effect.

-kv Generate only keyword values for keyword strings. For example, for the Revision keyword, generate the string 1.5 instead of $Revision: 1.5-$. This can help generate files in programming languages where it is hard to strip keyword delimiters like $Revision:-$ from a string. However, further keyword substitution cannot be performed once the keyword names are removed, so this option should be used with care. Because of this danger of losing keywords, this option cannot be combined with -l, and the owner write permission of the working file is turned off; to edit the file later, check it out again without -kv.

-p[rev]
prints the retrieved revision on the standard output rather than storing it in the working file. This option is useful when co is part of a pipe.

-q[rev]
quiet mode; diagnostics are not printed.

-I[rev]
interactive mode; the user is prompted and questioned even if the standard input is not a terminal.

-ddate
retrieves the latest revision on the selected branch whose checkin date/time is less than or equal to date. The date and time can be given in free format. The time zone LT stands for local time; other common time zone names are understood. For example, the following dates are equivalent if local time is January 11, 1990, 8pm Pacific Standard Time, eight hours west of Coordinated Universal Time (UTC):



8:00 pm lt
4:00 AM, Jan. 12, 1990
default is UTC
1990-01-12 04:00:00+00 ISOPrac@ 8601 (UTC)
1990-01-11 20:00:00-08 I SOPrac@ 8601 (local time)
1990/01/12 04:00:00 traditional RCSs format
Thu Jan 11 20:00:00 1990 LT output of ctime(3) + LT
Thu Jan 11 20:00:00 PST 1990
output of date(1)
Fri Jan 12 04:00:00 GMT 1990
Thu, 11 Jan 1990 20:00:00 -0800
Internet RFC 822
12-January-1990, 04:00 WET

Most fields in the date and time can be defaulted. The default time zone is normally UTC, but this can be overridden by the -z option. The other defaults are determined in the order year, month, day, hour, minute, and second (most to least significant). At least one of these fields must be provided. For omitted fields that are of higher significance than the highest provided field, the time zone's current values are assumed. For all other omitted fields, the lowest possible values are assumed. For example, without -z, the date 20, 10:30 defaults to 10:30:00 UTC of the 20th of the UTC time zone's current month and year. The date/time must be quoted if it contains spaces.

-M[rev]
Set the modification time on the new working file to be the date of the retrieved revision. Use this option with care; it can confuse make(1).

-sstate
retrieves the latest revision on the selected branch whose state is set to state.

-T Preserve the modification time on the RCSs file even if the RCSs file changes because a lock is added or removed. This option can suppress extensive recompilation caused by a make(1) dependency of some other copy of the working file on the RCSs file. Use this option with care; it can suppress recompilation even when it is needed, i.e. when the change of lock would mean a change to keyword strings in the other working file.

-w[login]
retrieves the latest revision on the selected branch which was checked in by the user with login name login. If the argument login is omitted, the caller's login is assumed.

-jjoinlist
generates a new revision which is the join of the revisions on joinlist. This option is largely obsoleted by rcsmerge(1) but is retained for backwards compatibility.

The joinlist is a comma-separated list of pairs of the form rev2:rev3, where rev2 and rev3 are (symbolic or numeric) revision numbers. For the initial such pair, rev1 denotes the revision selected by the above options -f, .-.-., -w. For all other pairs, rev1 denotes the revision generated by the previous pair. (Thus, the output of one join becomes the input to the next.)

For each pair, co joins revisions rev1 and rev3 with respect to rev2. This means that all changes that transform rev2 into rev1 are applied to a copy of rev3. This is particularly useful if rev1 and rev3 are the ends of two branches that have rev2 as a common ancestor. If rev1<rev2<rev3 on the same branch, joining generates a new revision which is like rev3, but with all changes that lead from rev1 to rev2 undone. If changes from rev2 to rev1 overlap with changes from rev2 to rev3, co reports overlaps as described in merge(1).

For the initial pair, rev2 can be omitted. The default is the common ancestor. If any of the arguments indicate branches, the latest revisions on those branches are assumed. The options -l and -u lock or unlock rev1.

-V Print RCSs's version number.

-Vn Emulate RCSs version n, where n can be 3, 4, or 5. This can be useful when interchanging RCSs files with others who are running older versions of RCSs. To see which version of RCSs your correspondents are running, have them invoke rcs--V; this works with newer versions of RCSs. If it doesn't work, have them invoke rlog on an RCSs file; if none of the first few lines of output contain the string branch: it is version 3; if the dates' years have just two digits, it is version 4; otherwise, it is version 5. An RCSs file generated while emulating version 3 loses its default branch. An RCSs revision generated while emulating version 4 or earlier has a time stamp that is off by up to 13 hours. A revision extracted while emulating version 4 or earlier contains abbreviated dates of the form yy/mm/dd and can also contain different white space and line prefixes in the substitution for $Log$.

-xsuffixes
Use suffixes to characterize RCSs files. See ci(1) for details.

-zzone
specifies the date output format in keyword substitution, and specifies the default time zone for date in the -ddate option. The zone should be empty, a numeric UTC offset, or the special string LT for local time. The default is an empty zone, which uses the traditional RCSs format of UTC without any time zone indication and with slashes separating the parts of the date; otherwise, times are output in ISOPrac@ 8601 format with time zone indication. For example, if local time is January 11, 1990, 8pm Pacific Standard Time, eight hours west of UTC, then the time is output as follows:


option time output
-z 1990/01/12 04:00:00 (default)
-z LT 1990-01-11 20:00:00-08
-z +05:30
1990-01-12 09:30:00+05:30

The -z option does not affect dates stored in RCSs files, which are always UTC.

KEYWORD SUBSTITUTION

Strings of the form $keyword$ and $keyword:.-.-.$ embedded in the text are replaced with strings of the form $keyword:value$ where keyword and value are pairs listed below. Keywords can be embedded in literal strings or comments to identify a revision.

Initially, the user enters strings of the form $keyword$. On checkout, co replaces these strings with strings of the form $keyword:value$. If a revision containing strings of the latter form is checked back in, the value fields will be replaced during the next checkout. Thus, the keyword values are automatically updated on checkout. This automatic substitution can be modified by the -k options.

Keywords and their corresponding values:

$Author$
The login name of the user who checked in the revision.

$Date$
The date and time the revision was checked in. With -zzone a numeric time zone offset is appended; otherwise, the date is UTC.

$Header$
A standard header containing the full pathname of the RCSs file, the revision number, the date and time, the author, the state, and the locker (if locked). With -zzone a numeric time zone offset is appended to the date; otherwise, the date is UTC.

$Id$ Same as $Header$, except that the RCSs filename is without a path.

$Locker$
The login name of the user who locked the revision (empty if not locked).

$Log$ The log message supplied during checkin, preceded by a header containing the RCSs filename, the revision number, the author, and the date and time. With -zzone a numeric time zone offset is appended; otherwise, the date is UTC. Existing log messages are not replaced. Instead, the new log message is inserted after $Log:.-.-.$. This is useful for accumulating a complete change log in a source file.

Each inserted line is prefixed by the string that prefixes the $Log$ line. For example, if the $Log$ line is
// $Log:-tan.cc$, RCSs prefixes each line of the log with //. This is useful for languages with comments that go to the end of the line. The convention for other languages is to use a -*- prefix inside a multiline comment. For example, the initial log comment of a C program conventionally is of the following form:

/*
* $Log$
*/

For backwards compatibility with older versions of RCSs, if the log prefix is /* or (* surrounded by optional white space, inserted log lines contain a space instead of / or (; however, this usage is obsolescent and should not be relied on.

$Name$
The symbolic name used to check out the revision, if any. For example, co--rJoe generates $Name:Joe$. Plain co generates just $Name:$.

$RCSfile$
The name of the RCSs file without a path.

$Revision$
The revision number assigned to the revision.

$Source$
The full pathname of the RCSs file.

$State$
The state assigned to the revision with the -s option of rcs(1) or ci(1).

The following characters in keyword values are represented by escape sequences to keep keyword strings well-formed.


char escape sequence

tab \t
newline \n
space \040
$ \044
\ \\

FILE MODES

The working file inherits the read and execute permissions from the RCSs file. In addition, the owner write permission is turned on, unless -kv is set or the file is checked out unlocked and locking is set to strict (see rcs(1)).

If a file with the name of the working file exists already and has write permission, co aborts the checkout, asking beforehand if possible. If the existing working file is not writable or -f is given, the working file is deleted without asking.

FILES

co accesses files much as ci(1) does, except that it does not need to read the working file unless a revision number of $ is specified.

ENVIRONMENT

RCSINIT
options prepended to the argument list, separated by spaces. See ci(1) for details.

DIAGNOSTICS

The RCSs pathname, the working pathname, and the revision number retrieved are written to the diagnostic output. The exit status is zero if and only if all operations were successful.

IDENTIFICATION

Author: Walter F. Tichy.
Modification: Ivica Crnkovic
Manual Page Revision: 1.5; Release Date: 1996/10/08.
Copyright © 1982, 1988, 1989 Walter F. Tichy.
Copyright © 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.

SEE ALSO

rcsintro(1), ci(1), ctime(3), date(1), ident(1), make(1), rcs(1), rcsclean(1), rcsdiff(1), rcsmerge(1), rlog(1), rcsfile(5)
Walter F. Tichy, RCSs-System for Version Control, Software--Practice & Experience 15, 7 (July 1985), 637-654.

LIMITS

Links to the RCSs and working files are not preserved.

There is no way to selectively suppress the expansion of keywords, except by writing them differently. In nroff and troff, this is done by embedding the null-character \& into the keyword.

NAME

concatman - Concatenate Manual Page Files

DESCRIPTION

The tool concatman concatenates several manual page files and writes the resulting output to the standard output file (stdout). Each individual manual page is preceeded by a line containing the name of the manual page (i.e. the name of the input file except the suffix '.2').

This tool is intended to be used together with the tool splitman when there is a need to sort the manual page outputs, produced by mangen, into a certain order.

SYNOPSIS

concatman <file1> [<file2> ...]

EXAMPLE

$ mangen -n lib myfile.c
$ splitman myfileLib.2
Creating funcC.2
Creating complexType.2
Creating funcB.2
Creating funcA.2
$ concatman funcA.2 funcB.2 funcC.2 complexType.2 >myNewfileLib.2

SEE ALSO

mangen(1), splitman(1)

AUTHOR

SEISY/LKSS Ake Bromo

NAME

cover - check out files from a RCS library

SYNOPSIS

cover [-all] [-i] [-n] [-O] [-tdir] [-ddate] [-f] [-I] [-ksubst] [-M] [-p] [-q] [-rrev] [-sstate] [-T] [-Vn] [-wwho] [-zzone] [file...]

DESCRIPTION


The command cover checks out RCS files and copies them to the corresponding working files. If file is omitted, all files that are not up to date are checked out. Otherwise, if file is specified, the file is checked out whether it is up to date or not. The updated files have readonly access. The command corresponds to the SDE menu command Update Working Directory.

If the specified file version has the state Obsolete, it will not be checked unless the -O option is specified.

PARAMETERS

file
denotes a file to be updated, whether it is up to date or not. A wild card naming may be used when specifying files. If no file is specified then the command updates all the files which are not up to date.

OPTIONS

-all
Check out all files, also when the file in the working directory is up-to-date.

-i Ask for each check out.

-n Just show the co commands; don't execute them (cf. make -n).

-O Checkout even if the version has the state Obsolete.

-tdir Traverse the directory structure starting from directory dir. If dir is omitted, the current directory is assumed.

-ddate
Retrieves the lates revision on the selected branch whose checkin date/time is less than or equal to date. The date and time may be given in free format (see co(1)).

-f Forces the overwriting of the working file. Otherwise, the default is to abort the checkout if a working file with write permission exists.

-I Interactive mode even if input is not a terminal.

-ksubst
Generate keyword strings using the specified keyword substitution. See co(1).

-M Set the modification time on the new working file to be the date of the retrieved revision. Use this option with care; it can confuse make(1).

-p Prints the retrieved revision on standard output, rather than storing it in the working file.

-q Do not write a log message on the screen.

-rrev Retrieves the latest revision whose number is less than or equal to rev. If rev indicates a branch rather than a revision, the latest revision on that branch is retrieved. If rev is omitted, the latest revision on the default branch is retrieved. If rev is $, checkout determines the revision number from keyword values in the working file. Otherwise, a revision is composed of one or more numeric or symbolic fields separated by periods.

-sstate
Retrieves the latest revision on the selected branch whose state is set to state.

-T Preserve the modification time on the RCS file.

-Vn Emulate RCS version n.

-wlogin
Retrieves the latest revision on the selected branch which was checked in by the user with login name login. If the login is omitted, the caller's login is assumed.

-zzone
Specify time zone for -d and keyword substitution.

EXAMPLES

cover # check out files which are not up to date in the current directory

cover -t2.1-0 # check out files which are not up to date in directory 2.1-0 and its subdirectories

cover proj* # check out all proj* files independent of if the files are up to date or not

cover -sStable * # check out the latest revisions of files with status Stable in current directory, independent of if the files are up to date or not

SEE ALSO

lsver(1), checkout(1), co(1), checkin(1), ci(1)

AUTHOR

Stefan Frennemo

NAME

cr - description over all cr commands

SYNOPSIS

cradd [-sstate] [fB-nv] [fB-q] CR file[:ver] ...

craddf [-sstate] [fB-nv] [fB-q] CR file[:ver] ...

craddt [-sstate] CR [description]

crassign owner [CR]

crcat [-A] [CR ... ]

crcheck [-w [user]] [-d date] [-r [revs]] [-s state] [-l lockers] [-A] [-nt] [-C] [-M] [-D dir] [-help] [-usage] [CR ...]

crcre [-ffile[:ver],file2[:ver2],...] [-sstate] [-nv] CR "title" ["description"]

crdel [-f] CR ...

cred [-eeditor] [-sstate] CR

credt [-eeditor] [-sstate] [-ttitle] CR

crlf [-l][-A] [-help] [-usage] [CR ...]

crls [-uuser | -wuser] [-sstate] [-rsymbolic_name] [-ddate] [-ffile] [-T[SVANDC]] [-A] [CR ...]

crmove [-ns state,state] system/configuration

crremf [-sstate] [-q] CR file[:ver1,ver2,...] ...

crren oldCR newCR

crstate state [CR]

crsymname [-sstate] [-q] [-N] [-r] [-S] name[:[rev]] CR ...

crterminate [-c] [-m "message"] [CR...]

DESCRIPTION

The following CR commands exist:

cradd register file versions and copy their log messages into a CR

craddf register files into a CR

craddt add a text description to a CR

crassign assigns a CR to a user

crcat print CRs

crcheck compare contents of CRs with the changes made in a SDE system

crcre create a CR

crdel delete CRs

cred edit a CR

credt edit a CR description

crlf list files specified in CRs

crls list CRs

crmove move a CR directory and its included CRs from subsystem to under configuration in master

crremf remove a file from a CR

crren rename a CR

crstate change a CR state (compare to rcsstate)

crsymname set a symbolic name on a CR (compare to rcsname)

crterminate terminate a CR

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

SEE ALSO

cradd(1) craddf(1) craddt(1) crassign(1) crcat(1) crcheck(1) crcre(1) crdel(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Elisabet de Waal

NAME

cradd - register file versions and copy their log messages into a CR

SYNOPSIS

cradd [-sstate] [-nv] [-q] CR file[:ver] ...

DESCRIPTION

Specify files and their versions in the CR and add their log messages to the description part of the CR. The new version of the CR gets the Exp state by default. If the CR has the state Term or Rel, file(s) cannot be registered.
By default the files are taken from current subsystem (directory), but files in another subsystem can be specified with a relative or absolute path.

PARAMETERS

CR
The name of a Change Request.

file[:ver] ...
The names of files and their versions to be written in the CR. If the version number is omitted, then the latest version is taken. If a file is already specified in the CR, then only the version number is added to the end of line where the file is defined. The log message from the specified version is concatenated to the description part of the CR.

OPTIONS

-sstate
Defines the CR state of the new CR version. The default value is Exp. If the state is set to Term, the CR is also terminated after the file(s) are registered.

-nv Register only the file name without any file version.

-q Runs the command without any log messages.

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

EXAMPLES

cradd CR100 x1.c x3.c:1.1

SEE ALSO

cr(1) craddf(1) craddt(1) crassign(1) crcat(1) crcheck(1) crcre(1) crdel(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

craddf - register files into a CR

SYNOPSIS

craddf [-sstate] [-nv] [-q] CR file[:ver] ...

DESCRIPTION

Specify files and their versions in the CR. The new version of the CR gets the Exp state by default. If the CR has the state Term or Rel, file(s) cannot be registered.
By default the files are taken from current subsystem (directory), but files in another subsystem can be specified with a relative or absolute path.

PARAMETERS

CR
The name of a Change Request.

file[:ver] ...
The names of files and their versions to be written in the CR. If a file is already specified in the CR, then only the version number is added to the end of line where the file is defined. If the :ver part is omitted, the latest file version is added to the CR. If -nv is used only the file is registered, without version.

OPTIONS

-sstate
Defines the CR state. The default value is Exp. If the state is set to Term, the CR is also terminated after the file(s) are registered.

-nv Register only the file name without any file version.

-q Runs the command without any log messages.

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

EXAMPLES

craddf CR100 x1.c:1.2 x3.c:1.1

SEE ALSO

cr(1) cradd(1) craddt(1) crassign(1) crcat(1) crcheck(1) crcre(1) crdel(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

craddt - add a text description to a CR

SYNOPSIS

craddt [-sstate] CR [description]

DESCRIPTION

Add a text description to a CR. The description is concatenated to the end of the CR. The new version of the CR gets the state Exp by default. If the description is omitted as a parameter, the command prompts for the description. In that case the description should be entered from the terminal and completed with the CTRL/D. If the CR has the state Term, file(s) cannot be registered. The craddt command may also be used as a filter, i.e. a description may be piped to the command.

PARAMETERS

CR
The name of a Change Request to be created/edited.

"description"
Text to be added to the CR. If omitted, the standard input (the terminal or a pipe) is used to enter the description.

OPTIONS

-sstate
Defines the CR state. The default value is Exp. If the state is set to Term, the CR is also terminated after the file(s) are registered.

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

EXAMPLES

craddt CR100
This text is added to the CR
^D

cat desc.txt | craddt CR101

SEE ALSO

cr(1) cradd(1) craddf(1) crassign(1) crcat(1) crcheck(1) crcre(1) crdel(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

crassign - assigns a CR to a user

SYNOPSIS

crassign [-m mailAddress] [-s subject] owner CR...

DESCRIPTION

Assigns a CR to a user. This means a new owner is set for one or more CR(s). The owner of a CR will handle the CR.

PARAMETERS

owner
The new owner of the CR. The owner is the one who will handle the CR, and make the changes according to the CR.

CR The name of a Change Request. At least one CR must be specified, wildcards can be used when specifying the CRs.

OPTIONS

-m mailAddress
Mail the contents of the CR to the mail address specified by mailAddress.

-s subject
When the CR is mailed, mail the specified subject as subject, when -s is not specified the subject part is the name of the CR.

EXTERNAL

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

EXAMPLES

crassign edewaal CR100


Assign CR100 to edewaal, who will make the necessary changes.

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crcat(1) crcheck(1) crcre(1) crdel(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Elisabet de Waal

NAME

crcat - print CRs

SYNOPSIS

crcat [-A] [CR ... ]

DESCRIPTION

Prints CRs to the standard output. If no CR is specified, all the CRs from the CR directory are printed. The CR name, the version and the state are also printed.

PARAMETERS

CR ...
Names of Change Requests, the specification can include wildcards, for example *cr*.

OPTIONS

-A
The CRs in all systems should be printed. The CRs in the current system are printed first. The option -A can be specified, or the environment variable SDE_CRSEARCH can be set to ALL. The environment variable SDE_CRSEARCH_FILE points to a file with all systems listed.

The syntax of SDE_CRSEARCH_FILE is (showed with example):
SDE_SYSTEM=sde_system SDE_SYSCONF=2.2-0

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.
The environment variable SDE_CRSEARCH can be set to ALL, to search all systems.
The SDE_CRSEARCH_FILE environment variable points to a file with all systems/configurations included.

EXAMPLES

crcat CR100 CR101
crcat *tele* #show all CRs that include the string tele in the name

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crassign(1) crcheck(1) crcre(1) crdel(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

crcheck - compare contents of CRs with the changes made in a SDE system

SYNOPSIS

crcheck [-w [user]] [-d date] [-r [revs]] [-s state] [-l lockers] [-A] [-nt] [-C] [-M] [-D dir] [-help] [-usage] [CR ...]

DESCRIPTION

List files specified in CRs and files found in the system. Using different options, the different files are printed out. The command is used for checking if all changes made in the system are registered in CRs.

The format of the output is the follwing:
file ver state owner relation ver:CR ...

The columns mean:
file - file name found in the system, including path from
configuration level
ver - file version found in the system
state - version state
owner - owner of the file version
relation - a character that defines eration between file found in the system and a definition stored in CRs.
The following characters are defined:
= The same file version found in the system and the highest version found in the CRs
> The file version in the system is greater than registered version in the CRs
< The file version in the system is less than registered version in the CRs
! The file found in the system is not registered in any CR
% The file is registered in CR, but not found in the system
ver:CR - Last file version registered in the CR

PARAMETERS

CR ...
Specifies CRs that will be checked. By default all the CRs are read. Wildcards can be used when specifying CRs.

OPTIONS

-A
The CRs in all systems should be searched. The CRs in the current system are searched first. The option -A can be specified, or the environment variable SDE_CRSEARCH can be set to ALL. The environment variable SDE_CRSEARCH_FILE points to a file with all systems listed. The syntax of SDE_CRSEARCH_FILE is (showed with example):
SDE_SYSTEM=sde_system SDE_SYSCONF=2.2-0

-nt Search for RCS library only in the specified directory. By default the complete tree is processed. If the option is used without -D, the current directory is searched.

-w [user]
Search for versioned files owned by the user.

-s state
Search for versioned files with the status state.

-d date
Search for file versions created in a relation to a date. For more information see the checkin command.

-l [lockers]
Search for locked files.

-r [revs]
Search for specified versions of files.

-C Display files specified in the CRs but missing in the system.

-M Display files with mismatch in file versions compared to versions specified in CRs, or files that are missing in the CRs.

-D dir
Define the search path. By default the system configuration, i.e. /ipa/systems/$SDE_SYSTEM/$SDE_SYSCONF is taken. The path must be defined within the current system configuration.

-help Gives help information about the command.

-usage
Gives information about options to the command.

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.
The environment variable SDE_CRSEARCH can be set to ALL, to search all systems.
The SDE_CRSEARCH_FILE environment variable points to a file with all systems/configurations included.

EXAMPLES

crcheck # show information about all files
# in the system configuration,
# compared to all files defined
# in CRs

crcheck -C # show files specified in CRs
# but not found in the directory
# tree

crcheck -M -w # show my files that are not
# properly specified in the CRs

crcheck CR-info # show if CR-info has correctly
# defined file versions.

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crassign(1) crcat(1) crcre(1) crdel(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

crcre - create a CR

SYNOPSIS

crcre [-ffile[:ver],file2[:ver2],...] [-sstate] [-wAssignTo] [-mMailTo] [-uMailSubject] [-nv] [-Ppriority] [-Rreason] [-FFunction,..] [-kkey:value,...] CR "title" ["description"]

DESCRIPTION

Create a new Change Request (CR). If only a CR name is specified, create a CR containing only a template.

The format of a CR is the following:

CR State Author Date Title
------------------------------------------------------
Created: Creation date
[Priority: priority]
[Reason: crtype]
[Function: function function....]
[keyword: value ]
File: file1 ver1 ver2 ver3 ...
File: file2 ver1 ver2 ...
.
.
Description:
description lines
.
.

PARAMETERS

CR
The name of a Change Request to be created.

"title"
The CR title. One line of text may be used for the title specification.

"description"
Concatenate the description into CR.

OPTIONS

-ffile[:ver],file1:[ver1],..
The specified files will be registered in the CR. If no :ver is specified then the latest version is taken.
If the -nv option is used together with -f only the file name is registered.

-sstate
Defines the status of the edited CR. The default status is Init. If the state is set to Term, the CR is also terminated after CR is created.

-wAssignTo
Assigns the CR to a person, which normally should handle the CR. This person will be the owner of the CR. The default is the one that creates the CR. After the CR is created the CR can be assigned to another person the command crassign.

-mMailTo
Mails the contents of the created CR to the specified e-mail address.

-uMailSubject
When a CR is mailed MailSubject is used as subject part. If -u is not specified the name of the CR is used as subject.

-nv Register only the file name without any file version. This makes it possible to regeister a change before actually doing the change.

-Ppriority
Define the Change Request Priority. The recommended values are: Low Medium High

-Rreason
Define the reason for the CR registration. Recommended values are Error Improvement New Function. Any other value may be added. If the entered text includes several words it must be enclosed in quotation characters.

-FFunction,..
Define functions that are related to the CR. If the entered text includes several words it must be enclosed in quotation characters.

-kkey:value,...
Define any key and its value. Several keys can be specified with comma (',') between the different key:value pair. Each time a new keyword-line will be placed in the CR. If the entered value includes several words it must be enclosed in quotation characters.

-help Write help text.

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

EXAMPLES

crcre -sStable -fsort.c,sort.1 CR100 "Add sort function"

crcre -PLow -Fsort -RImprovement CR400 "Sort should also manage date format"

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crassign(1) crcat(1) crcheck(1) crdel(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

crdel - delete CRs

SYNOPSIS

crdel [-f] CR ...

DESCRIPTION

Deletes CRs.

PARAMETERS

CR
The name of a Change Request to be deleted. A name must be specified, but the specification can include wildcards, for example *cr*.

OPTIONS

-f
Force the deletion of the CRs.

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

EXAMPLES

crdel -f CR101

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crassign(1) crcat(1) crcheck(1) crcre(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

createInternals - create internals.mkf for the current system

SYNOPSIS

createInternals [-e editor]

DESCRIPTION


Scan the current system configuration for subsystems (directories that are not RCS libraries) and create an internals.mkf file in the current directory, then bring the file up in an editor so that the user can define variable names for all subsystems. By default the Softbench editor (softedit) is used.

OPTIONS

- editor

Specifies the editor. By default softedit is used.

EXTERNAL INFLUENCES

The SDE_SYSTEM_DIR and SDE_SYSCONF environment variables define the path to the system configuration for which internals.mkf is created.

EXAMPLES

createInternals -e vi

SEE ALSO

make(1) mkmf(1)

AUTHOR

Mats Medin

NAME

cred - edit a CR

SYNOPSIS

cred [-eeditor] [-sstate] CR

DESCRIPTION

Invoke an editor and edit a Change Request (CR). By default the Softbench editor (softedit) is used.

When editing is completed then the CR is checked in the CR library. Note: You have to exit the editor.

The format of a CR is the following:

CR State Author Date Title
------------------------------------------------------
Created: Creation date
[Priority: priority]
[Reason: crtype]
[Function: function function....]
[keyword: value ]
File: file1 ver1 ver2 ver3 ...
File: file2 ver1 ver2 ...
.
.
Description:
description lines
.
.

PARAMETERS

CR
The name of a Change Request to be edited.

OPTIONS

-eeditor
Specifies the editor. By default the Softedit editor is used.

-sstate
Defines the status of the edited CR. The default status is Exp.

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

EXAMPLES

cred -eemacs -sStable CR100

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crassign(1) crcat(1) crcheck(1) crcre(1) crdel(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

credt - edit a CR description

SYNOPSIS

credt [-eeditor] [-sstate] [-ttitle] CR [description]

DESCRIPTION

Invoke an editor and edit the description of a Change Request (CR). By default the Softbench editor (softedit) is used.

When editing is completed then the CR is checked in the CR library. Note: You have to exit the editor.

PARAMETERS

CR
The name of a Change Request to be edited.

description
The new description of the CR. If specified no editor is started to edit the description.

OPTIONS

-eeditor
Specifies the editor. By default the Softedit editor is used.

-sstate
Defines the status of the edited CR. The default status is Exp.

-ttitle
Defines a new title of the CR.

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

EXAMPLES

credt CR100

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crassign(1) crcat(1) crcheck(1) crcre(1) crdel(1) cred(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Elisabet de Waal

NAME

crform - print CRs in a FrameMaker format

SYNOPSIS

crform [-f] [CR ...]

DESCRIPTION

Prints specified CRs in the MIF format. The printout is directed to the standard output. You may redirect the standard output to a .mif file and then open and print the file from FrameMaker.

The printout is similar to the printout from the crls command, but by default files are excluded from the list.

PARAMETERS

CR ....
Names of a Change Requests to be printed. If no CR is specified then all the CRs will be printed. You may use different commands to get a list of CRs, in particular the crls command with different options. See examples.

OPTIONS

-f
Includes also the list of files from CRs

EXAMPLES

crform $(crls -TAS | grep -v Term | sort -b -k 3 | cut -d" " -f1) > c.mif

The shown example prints out all CRs that are not terminated. CRs are sorted according to authors.

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crcat(1) crcheck(1) crcre(1) cred(1) credt(1) crlf(1) crls(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Ivica Crnkovic

NAME

crlf - list files specified in CRs

SYNOPSIS

crlf [-l][-A] [-help] [-usage] [CR ...]

DESCRIPTION

List files specified in CRs. By default, the short format is used which shows files and CRs in which the files are specified.

PARAMETERS

CR ...
Names of Change Requests. By default all CRs are used, CRs can be specified or wildcards can be used.

OPTIONS

-A
The CRs in all systems should be searched. The CRs in the current system are searched first. The option -A can be specified, or the environment variable SDE_CRSEARCH can be set to ALL. The environment variable SDE_CRSEARCH_FILE points to a file with all systems listed. The syntax of SDE_CRSEARCH_FILE is (showed with example):
SDE_SYSTEM=sde_system SDE_SYSCONF=2.2-0

-l Lists the file in the long format. For each file all the CRs and all the versions of files which are specified in CRs are listed.

-help Gives help information about the command.

-usage
Gives information about options to the command.

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.
The environment variable SDE_CRSEARCH can be set to ALL, to search all systems.
The SDE_CRSEARCH_FILE environment variable points to a file with all systems/configurations included.

EXAMPLES

crlf

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crassign(1) crcat(1) crcheck(1) crcre(1) crdel(1) cred(1) credt(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

crls - list CRs

SYNOPSIS

crls [-uuser | -wuser] [-sstate] [-rsymbolic_name] [-ddate] [-ffile] [-T[SVANDC]] [-x] [-A] [CR ...]

DESCRIPTION

List CRs. Different formats of the list may be produced. By default, the format which shows the CR name and CR title is used. The option -T is used to define the output format. Other options are used for selecting of CRs or CR versions. If no CR is specified, then all CRs are listed that match specified options.

PARAMETERS

CR ...
Names of Change Requests, the specification can include wildcards, for example *cr*.

OPTIONS

-u[user]
Lists the latest file versions that the user is owner of. If the user is omitted, the current user is taken.

-w[user]
Lists the file versions the user is owner of. If the user is omitted, the current user is taken.

-sstate
Lists CRs with the status state. The default value for the state is Exp.

-rsymbolic_name
Lists CRs with the name symbolic_name.

-ddate
Print information about CRs which versions have a checkin date/time in the ranges given by the semicolon-separated list of dates. A range of the form d1<d2 or d2>d1 selects the versions that were deposited between d1 and d2 inclusive. A range of the form <d or d> selects all versions dated d or earlier. A range of the form d< or >d selects all versions dated d or later. A range of the form d selects the single, latest version dated d or earlier. The date/time strings d, d1, and d2 are in the free format explained in co(1). Quoting is normally necessary, especially for < and >. Note that the separator is a semicolon.

-ffile
Lists CRs that include File: file specification.

-T[SVANDC]
Define the output format. The following keys are defined:
S List CR State
V List CR Version Number
A List CR Responsible
N List CR Symbolic name (if defined)
D List CR Version Date
C List CR Title

Any combination of these keys may be used. If only -T is specified (without key), only the CR name is listed.

-x If the argument list is too long, and errors are got from the shell, use -x option to list the CRs.

-A The CRs in all systems should be printed. The CRs in the current system are printed first. The option -A can be specified, or the environment variable SDE_CRSEARCH can be set to ALL. The environment variable SDE_CRSEARCH_FILE points to a file with all systems listed. The syntax of SDE_CRSEARCH_FILE is (showed with example):
SDE_SYSTEM=sde_system SDE_SYSCONF=2.2-0

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.
The environment variable SDE_CRSEARCH can be set to ALL, to search all systems.
The SDE_CRSEARCH_FILE environment variable points to a file with all systems/configurations included.

EXAMPLES

crls -s -w #show all my CRs with the state Exp
crls *tele* #show all CRs that include the string tele in the name

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crassign(1) crcat(1) crcheck(1) crcre(1) crdel(1) cred(1) credt(1) crlf(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

crmanager - SDE CR Manager

SYNOPSIS

crmanager [-host contexthost] [-dir contextdirectory] [-subdir subdirectory]

DESCRIPTION

The command crmanager starts SDE CR Manager, a Motif interface to SDE CR (Change Request) handling commands. SDE CR Manager has the following features:

- it provides a window into the CR directory for a configuration, where you can look at and manipulate selected CRs.

- it provides a window where specified files can be added to a CR. This window is automatically displayed during checkin of files, if the environment variable SDE_CR_CI=ON, and the crmanager is started.

OPTIONS

-host contexthost
Host which contains directory to operate on.

-dir contextdirectory
The context directory, i.e. the top of the directory hierarchy. The default context is the current directory of the shell ($PWD).
This context directory should be the same as in SDE VersionWorks, to have the messages sent correctly between the applications. The context directory is used to find the CR directory.

-subdir subdirectory
A subdirectory relative to the context directory. This sets the current directory to a subsystem below the context directory. As default, the current directory is same as the context directory (see -dir).

EXAMPLES

Start the CR Manager from the Softbench Development Manager. The context directory is
/ipa/projects/example/members/membA/systemA/1.0-0.
Select SDE;SDE CR Manager
The CR Manager is started with correct context.

Start the SDE CR Manager from command level, with the same context directory as above. You are placed in the correct context in the terminal window and have the correct environment set, i.e. correct SDE environment variables are setup. Your current directory can be a sub-directory to the context.
crmanager

Start the SDE CR Manager from command level, with the same context directory as above. You are not placed in the correct context.
crmanager -dir /nfs/autnfs01/disk5e/ipa/projects/\
example/members/membA/systemA/1.0-0

AUTHOR

Elisabet de Waal

NAME

crremf - remove files from a CR

SYNOPSIS

crremf [-sstate] [-q] CR file[:ver1,ver2,...] ...

DESCRIPTION

Specify files and their versions to remove from the CR. The filename must be specified as it is written in the CR (including directory path from configuration). If filename is specified without versions the whole file is removed, if versions are specified only the specified versions are removed.
The new version of the CR gets the Exp state by default. If the CR has the state Term or Rel, file(s) cannot be removed.

PARAMETERS

CR
The name of a Change Request.

file[:ver1,ver2,...] ...
The filenames and their versions to be removed from the CR. The filename must be specified as it is written in the CR (including directory path from configuration). If the :ver part is omitted, the whole file is removed, if the :ver part is specified only the specified versions are removed.

OPTIONS

-sstate
Defines the CR state. The default value is Exp. If the state is set to Term, the CR is also terminated after the file(s) are removed.

-q Runs the command without any log messages.

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

EXAMPLES

crremf CR100 x1.c:1.2 x3.c:1.1

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crassign(1) crcat(1) crcheck(1) crcre(1) crdel(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crren(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Elisabet de Waal

NAME

crren - rename a CR

SYNOPSIS

crren oldCR newCR

DESCRIPTION

Rename a Change Request (CR) from oldCR to newCR.

PARAMETERS

oldCR
The name of the CR to rename.

newCR The new name of the CR.

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

EXAMPLES

crren CR100 CR200

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crassign(1) crcat(1) crcheck(1) crcre(1) crdel(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crstate(1) crsymname(1) crterminate(1)

AUTHOR

Elisabet de Waal

NAME

crstate - change a CR state

SYNOPSIS

crstate state [CR]

DESCRIPTION

Define a new status for one or more CR(s). The standard states are:

Init Indicates a new (initiated) CR.

Exp Indicates a CR state during the change process.

Term Defines a completed CR and terminated CR. The CR also includes the termination date.

Rel Defines a released CR. To set this state the CR must have been terminated before.

PARAMETERS

state
The new CR state.

CR The name a Change Request. If no CR is defined all the defined CRs are taken, wildcards can be used when specifying the CRs.

EXTERNAL

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

EXAMPLES

crstate Term CR100


Define the state Term for CR100, the CR is terminated

crstate Exp

Define the state Exp for all defined CRs

crstate Rel *tele*

Define the state Rel for all CRs, which includes the string tele, and are terminated.

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crassign(1) crcat(1) crcheck(1) crcre(1) crdel(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crsymname(1) crterminate(1)

AUTHOR

Elisabet de Waal

NAME

crsymname - define a symbolic name for a CR

SYNOPSIS

crsymname [-sstate] [-q] [-N] [-r] [-S] name[:[rev]] CR ...

DESCRIPTION


The command crsymname defines symbolic names for a version of a CR. Each version of a CR may have several symbolic names, but two versions of the same CR cannot have the same symbolic name.

PARAMETERS

name[:[rev]]
Associate the symbolic name name with the version rev of CR. Print an error message if name is already associated with another number. Delete the symbolic name if -r is specified and both : and rev are omitted. If just a name is specified, it stands for the latest version of the CR.

CR ...
Names of Change Requests, the specification can include wildcards, for example *cr*.

OPTIONS

-q
Quiet mode. Diagnostics are not printed.

-N Override any previous assignment of name.

-r Remove symbolic name associated with a version.

-sstate

Write symbolic names on the latest versions that have a status state.

-S If the latest version of the file has the state Obsolete, do not set name.

EXTERNAL INFLUENCES

The CR directory is placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

EXAMPLES

crsymname R2_0_0 CR1*

defines the symbolic name R2_0_0 to all the CRs starting with CR1.

rcsname R3_0_0P2 CR100

defines the symbolic name R3_0_0P2 to the CR CR100.

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crassign(1) crcat(1) crcheck(1) crcre(1) crdel(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crterminate(1)

AUTHOR

Elisabet de Waal

NAME

crterminate - terminate a CR

SYNOPSIS

crterminate [-c] [-m "message"] [CR...]

DESCRIPTION

Terminate a CR. The CR get the status Term, and the message with current date added is written in the CR. If a message is not specified only the current date is written in the CR. A CR with the state Term or Rel cannot be terminated.

PARAMETERS

CR...
The name of a Change Request. If not specified all CRs are terminated, wildcards can be used.

OPTIONS

-c
Cancel termination of the CR. The status of the CR is set to Exp. The termination message is removed from the CR file.

-m message
Give a termination message, to be added to the current date. The current date is always included in the termination message.

EXTERNAL INFLUENCES

The CR directory must be placed in $SDE_SYSTEM/master/.../$SDE_SYSCONF/cr.

EXAMPLES

crterminate CR100
Terminate CR100, with current date as termination message
crterminate -m "This CR took 10h to change" CR100
Terminate CR100, with the specified message as termination message
crterminate -c CR100
Cancels termination of CR100

SEE ALSO

cr(1) cradd(1) craddf(1) craddt(1) crassign(1) crcat(1) crcheck(1) crcre(1) crdel(1) cred(1) credt(1) crlf(1) crls(1) crmove(1) crremf(1) crren(1) crstate(1) crsymname(1)

AUTHOR

Elisabet de Waal

NAME

diff - find differences between two files

SYNOPSIS

diff [options] from-file to-file

DESCRIPTION

In the simplest case, diff compares the contents of the two files from-file and to-file. A file name of - stands for text read from the standard input. As a special case, diff - - compares a copy of standard input to itself.

If from-file is a directory and to-file is not, diff compares the file in from-file whose file name is that of to-file, and vice versa. The non-directory file must not be -.

If both from-file and to-file are directories, diff compares corresponding files in both directories, in alphabetical order; this comparison is not recursive unless the -r or --recursive option is given. diff never compares the actual contents of a directory as if it were a file. The file that is fully specified may not be standard input, because standard input is nameless and the notion of ``file with the same name'' does not apply. diff options begin with -, so normally from-file and to-file may not begin with -. However, -- as an argument by itself treats the remaining arguments as file names even if they begin with -.

Options

Below is a summary of all of the options that GNU diff accepts. Most options have two equivalent names, one of which is a single letter preceded by -, and the other of which is a long name preceded by --. Multiple single letter options (unless they take an argument) can be combined into a single command line word: -ac is equivalent to -a--c. Long named options can be abbreviated to any unique prefix of their name. Brackets ([ and ]) indicate that an option takes an optional argument.

-lines
Show lines (an integer) lines of context. This option does not specify an output format by itself; it has no effect unless it is combined with -c or -u. This option is obsolete. For proper operation, patch typically needs at least two lines of context.

-a Treat all files as text and compare them line-by-line, even if they do not seem to be text.

-b Ignore changes in amount of white space.

-B Ignore changes that just insert or delete blank lines.

--brief
Report only whether the files differ, not the details of the differences.

-c Use the context output format.

-C-lines

--context[=lines]
Use the context output format, showing lines (an integer) lines of context, or three if lines is not given. For proper operation, patch typically needs at least two lines of context.

--changed-group-format=format
Use format to output a line group containing differing lines from both files in if-then-else format.

-d Change the algorithm to perhaps find a smaller set of changes. This makes diff slower (sometimes much slower).

-D-name
Make merged if-then-else format output, conditional on the preprocessor macro name.

-e

--ed Make output that is a valid ed script.

--exclude=pattern
When comparing directories, ignore files and subdirectories whose basenames match pattern.

--exclude-from=file
When comparing directories, ignore files and subdirectories whose basenames match any pattern contained in file.

--expand-tabs
Expand tabs to spaces in the output, to preserve the alignment of tabs in the input files.

-f Make output that looks vaguely like an ed script but has changes in the order they appear in the file.

-F-regexp
In context and unified format, for each hunk of differences, show some of the last preceding line that matches regexp.

--forward-ed
Make output that looks vaguely like an ed script but has changes in the order they appear in the file.

-h This option currently has no effect; it is present for Unix compatibility.

-H Use heuristics to speed handling of large files that have numerous scattered small changes.

--horizon-lines=lines
Do not discard the last lines lines of the common prefix and the first lines lines of the common suffix.

-i Ignore changes in case; consider upper- and lower-case letters equivalent.

-I-regexp
Ignore changes that just insert or delete lines that match regexp.

--ifdef=name
Make merged if-then-else format output, conditional on the preprocessor macro name.

--ignore-all-space
Ignore white space when comparing lines.

--ignore-blank-lines
Ignore changes that just insert or delete blank lines.

--ignore-case
Ignore changes in case; consider upper- and lower-case to be the same.

--ignore-matching-lines=regexp
Ignore changes that just insert or delete lines that match regexp.

--ignore-space-change
Ignore changes in amount of white space.

--initial-tab
Output a tab rather than a space before the text of a line in normal or context format. This causes the alignment of tabs in the line to look normal.

-l Pass the output through pr to paginate it.

-L-label

--label=label
Use label instead of the file name in the context format and unified format headers.

--left-column
Print only the left column of two common lines in side by side format.

--line-format=format
Use format to output all input lines in in-then-else format.

--minimal
Change the algorithm to perhaps find a smaller set of changes. This makes diff slower (sometimes much slower).

-n Output RCS-format diffs; like -f except that each command specifies the number of lines affected.

-N

--new-file
In directory comparison, if a file is found in only one directory, treat it as present but empty in the other directory.

--new-group-format=format
Use format to output a group of lines taken from just the second file in if-then-else format.

--new-line-format=format
Use format to output a line taken from just the second file in if-then-else format.

--old-group-format=format
Use format to output a group of lines taken from just the first file in if-then-else format.

--old-line-format=format
Use format to output a line taken from just the first file in if-then-else format.

-p Show which C function each change is in.

-P When comparing directories, if a file appears only in the second directory of the two, treat it as present but empty in the other.

--paginate
Pass the output through pr to paginate it.

-q Report only whether the files differ, not the details of the differences.

-r When comparing directories, recursively compare any subdirectories found.

--rcs Output RCS-format diffs; like -f except that each command specifies the number of lines affected.

--recursive
When comparing directories, recursively compare any subdirectories found.

--report-identical-files

-s Report when two files are the same.

-S-file
When comparing directories, start with the file file. This is used for resuming an aborted comparison.

--sdiff-merge-assist
Print extra information to help sdiff. sdiff uses this option when it runs diff. This option is not intended for users to use directly.

--show-c-function
Show which C function each change is in.

--show-function-line=regexp
In context and unified format, for each hunk of differences, show some of the last preceding line that matches regexp.

--side-by-side
Use the side by side output format.

--speed-large-files
Use heuristics to speed handling of large files that have numerous scattered small changes.

--starting-file=file
When comparing directories, start with the file file. This is used for resuming an aborted comparison.

--suppress-common-lines
Do not print common lines in side by side format.

-t Expand tabs to spaces in the output, to preserve the alignment of tabs in the input files.

-T Output a tab rather than a space before the text of a line in normal or context format. This causes the alignment of tabs in the line to look normal.

--text
Treat all files as text and compare them line-by-line, even if they do not appear to be text.

-u Use the unified output format.

--unchanged-group-format=format
Use format to output a group of common lines taken from both files in if-then-else format.

--unchanged-line-format=format
Use format to output a line common to both files in if-then-else format.

--unidirectional-new-file
When comparing directories, if a file appears only in the second directory of the two, treat it as present but empty in the other.

-U-lines

--unified[=lines]
Use the unified output format, showing lines (an integer) lines of context, or three if lines is not given. For proper operation, patch typically needs at least two lines of context.

-v

--version
Output the version number of diff.

-w Ignore white space when comparing lines.

-W-columns

--width=columns
Use an output width of columns in side by side format.

-x-pattern
When comparing directories, ignore files and subdirectories whose basenames match pattern.

-X-file
When comparing directories, ignore files and subdirectories whose basenames match any pattern contained in file.

-y Use the side by side output format.

SEE ALSO

cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).

DIAGNOSTICS

An exit status of 0 means no differences were found, 1 means some differences were found, and 2 means trouble.

NAME

diff3 - find differences between three files

SYNOPSIS

diff3 [options] mine older yours

DESCRIPTION

The diff3 command compares three files and outputs descriptions of their differences.

The files to compare are mine, older, and yours. At most one of these three file names may be -, which tells diff3 to read the standard input for that file.

Options

Below is a summary of all of the options that GNU diff3 accepts. Multiple single letter options (unless they take an argument) can be combined into a single command line argument.

-a Treat all files as text and compare them line-by-line, even if they do not appear to be text.

-A Incorporate all changes from older to yours into mine, surrounding all conflicts with bracket lines.

-e Generate an ed script that incorporates all the changes from older to yours into mine.

-E Like -e, except bracket lines from overlapping changes' first and third files. With -e, an overlapping change looks like this:

<<<<<<< mine
lines from mine
=======
lines from yours
>>>>>>> yours

--ed Generate an ed script that incorporates all the changes from older to yours into mine.

--easy-only
Like -e, except output only the nonoverlapping changes.

-i Generate w and q commands at the end of the ed script for System V compatibility. This option must be combined with one of the -AeExX3 options, and may not be combined with -m.

--initial-tab
Output a tab rather than two spaces before the text of a line in normal format. This causes the alignment of tabs in the line to look normal.

-L-label

--label=label
Use the label label for the brackets output by the -A, -E and -X options. This option may be given up to three times, one for each input file. The default labels are the names of the input files. Thus diff3 -L X -L Y -L Z -m A B C acts like "diff3--m-A-B-C-, except that the output looks like it came from files named X, Y and Z rather than from files named A, B and C.

-m

--merge
Apply the edit script to the first file and send the result to standard output. Unlike piping the output from diff3 to ed, this works even for binary files and incomplete lines. -A is assumed if no edit script option is specified.

--overlap-only
Like -e, except output only the overlapping changes.

--show-all
Incorporate all unmerged changes from older to yours into mine, surrounding all overlapping changes with bracket lines.

--show-overlap
Like -e, except bracket lines from overlapping changes' first and third files.

-T Output a tab rather than two spaces before the text of a line in normal format. This causes the alignment of tabs in the line to look normal.

--text
Treat all files as text and compare them line-by-line, even if they do not appear to be text.

-v

--version
Output the version number of diff3.

-x Like -e, except output only the overlapping changes.

-X Like -E, except output only the overlapping changes. In other words, like -x, except bracket changes as in -E.

-3 Like -e, except output only the nonoverlapping changes.

SEE ALSO

cmp(1), comm(1), diff(1), ed(1), patch(1), sdiff(1).

DIAGNOSTICS

An exit status of 0 means diff3 was successful, 1 means some conflicts were found, and 2 means trouble.

NAME

difftree - list files that differ in two directory trees

SYNOPSIS

difftree [-a] [-nt] [-s] [-w n ] dir1 dir2

DESCRIPTION


The command difftree compares the files in two directory trees, dir1 and dir2. Files are listed in blocks of unique files in dir1, unique files in dir2, modified files and if option -a is specified, also unmodified files. If option -s is specified, files are listed on format "dir2/file_name state". Value on state is New, Modified, Unmodified or Obsolete.
Internally, the command dircmp is used. The option -w n is only used with dircmp.

PARAMETERS

dir1
Directory specification.

dir2 Directory specification.

OPTIONS

-a
List all files, ie also unmodified files.

-nt Do not list files in the tree.

-s List files on format "dir2/file state", where state is New, Modified, Unmodified or Obsolete.

-w n Output width n characters used as option in dircmp.

WARNINGS

In dircmp, files are listed in two columns. To avoid truncation of long directory/file names, use the option -w n.

EXAMPLES

difftree /ipa/products/ex_prod/2.1-0 /ipa/products/ex_prod/2.2-0

SEE ALSO

dircmp(1)

AUTHOR

E Antonsson

NAME

gplist - list files that belong to a group.

SYNOPSIS

gplist [options] grp_file

DESCRIPTION


The command gplist lists files that are specified in the grp_file. A grp_file contains lines that have the following format:

cpp-macro command
file
-g grp_file

The cpp-macro command defines a macro command of the cpp preprocessor. file is a file name which belongs to the group.
-g grp_file specifies another group that may be included into the current group.

PARAMETERS

grp_file
Specifies a grp_file that will be printed. If the file is not found in the specified directory it is searched for in the RCS library placed in the specified directory.

OPTIONS

-g
Instead of files, list which groups are included in the specified group file.

Any option used in cpp preprocessor may be used.

EXAMPLES

gplist globals.grp

lists files that are specified in the globals.grp group file.

SEE ALSO

cpp(1), s_gplist(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal


make - GNU make utility to maintain groups of programs

SYNOPSIS

NAME

gzip, gunzip, zcat - compress or expand files

SYNOPSIS

gzip [--acdfhlLnNrtvV19-] [-S-suffix] [ name ... ]
gunzip [--acfhlLnNrtvV-] [-S-suffix] [ name ... ]
zcat [--fhLV-] [ name ... ]

DESCRIPTION

Gzip reduces the size of the named files using Lempel-Ziv coding (LZ77). Whenever possible, each file is replaced by one with the extension .gz, while keeping the same ownership modes, access and modification times. (The default extension is -gz for VMS, z for MSDOS, OS/2 FAT, Windows NT FAT and Atari.) If no files are specified, or if a file name is "-", the standard input is compressed to the standard output. Gzip will only attempt to compress regular files. In particular, it will ignore symbolic links.

If the compressed file name is too long for its file system, gzip truncates it. Gzip attempts to truncate only the parts of the file name longer than 3 characters. (A part is delimited by dots.) If the name consists of small parts only, the longest parts are truncated. For example, if file names are limited to 14 characters, gzip.msdos.exe is compressed to gzi.msd.exe.gz. Names are not truncated on systems which do not have a limit on file name length.

By default, gzip keeps the original file name and timestamp in the compressed file. These are used when decompressing the file with the -N option. This is useful when the compressed file name was truncated or when the time stamp was not preserved after a file transfer.

Compressed files can be restored to their original form using gzip -d or gunzip or zcat. If the original name saved in the compressed file is not suitable for its file system, a new name is constructed from the original one to make it legal.

gunzip takes a list of files on its command line and replaces each file whose name ends with .gz, -gz, .z, -z, _z or .Z and which begins with the correct magic number with an uncompressed file without the original extension. gunzip also recognizes the special extensions .tgz and .taz as shorthands for .tar.gz and .tar.Z respectively. When compressing, gzip uses the .tgz extension if necessary instead of truncating a file with a .tar extension.

gunzip can currently decompress files created by gzip, zip, compress, compress -H or pack. The detection of the input format is automatic. When using the first two formats, gunzip checks a 32 bit CRC. For pack, gunzip checks the uncompressed length. The standard compress format was not designed to allow consistency checks. However gunzip is sometimes able to detect a bad .Z file. If you get an error when uncompressing a .Z file, do not assume that the .Z file is correct simply because the standard uncompress does not complain. This generally means that the standard uncompress does not check its input, and happily generates garbage output. The SCO compress -H format (lzh compression method) does not include a CRC but also allows some consistency checks.

Files created by zip can be uncompressed by gzip only if they have a single member compressed with the 'deflation' method. This feature is only intended to help conversion of tar.zip files to the tar.gz format. To extract zip files with several members, use unzip instead of gunzip.

zcat is identical to gunzip -c. (On some systems, zcat may be installed as gzcat to preserve the original link to compress.) zcat uncompresses either a list of files on the command line or its standard input and writes the uncompressed data on standard output. zcat will uncompress files that have the correct magic number whether they have a .gz suffix or not.

Gzip uses the Lempel-Ziv algorithm used in zip and PKZIP. The amount of compression obtained depends on the size of the input and the distribution of common substrings. Typically, text such as source code or English is reduced by 60-70%. Compression is generally much better than that achieved by LZW (as used in compress), Huffman coding (as used in pack), or adaptive Huffman coding (compact).

Compression is always performed, even if the compressed file is slightly larger than the original. The worst case expansion is a few bytes for the gzip file header, plus 5 bytes every 32K block, or an expansion ratio of 0.015% for large files. Note that the actual number of used disk blocks almost never increases. gzip preserves the mode, ownership and timestamps of files when compressing or decompressing.

OPTIONS

-a --ascii
Ascii text mode: convert end-of-lines using local conventions. This option is supported only on some non-Unix systems. For MSDOS, CR LF is converted to LF when compressing, and LF is converted to CR LF when decompressing.

-c --stdout --to-stdout
Write output on standard output; keep original files unchanged. If there are several input files, the output consists of a sequence of independently compressed members. To obtain better compression, concatenate all input files before compressing them.

-d --decompress --uncompress
Decompress.

-f --force
Force compression or decompression even if the file has multiple links or the corresponding file already exists, or if the compressed data is read from or written to a terminal. If the input data is not in a format recognized by gzip, and if the option --stdout is also given, copy the input data without change to the standard ouput: let zcat behave as cat. If -f is not given, and when not running in the background, gzip prompts to verify whether an existing file should be overwritten.

-h --help
Display a help screen and quit.

-l --list
For each compressed file, list the following fields:

compressed size: size of the compressed file
uncompressed size: size of the uncompressed file
ratio: compression ratio (0.0% if unknown)
uncompressed_name: name of the uncompressed file

The uncompressed size is given as -1 for files not in gzip format, such as compressed .Z files. To get the uncompressed size for such a file, you can use:

zcat file.Z | wc -c

In combination with the --verbose option, the following fields are also displayed:

method: compression method
crc: the 32-bit CRC of the uncompressed data
date & time: time stamp for the uncompressed file

The compression methods currently supported are deflate, compress, lzh (SCO compress -H) and pack. The crc is given as ffffffff for a file not in gzip format.

With --name, the uncompressed name, date and time are those stored within the compress file if present.

With --verbose, the size totals and compression ratio for all files is also displayed, unless some sizes are unknown. With --quiet, the title and totals lines are not displayed.

-L --license
Display the gzip license and quit.

-n --no-name
When compressing, do not save the original file name and time stamp by default. (The original name is always saved if the name had to be truncated.) When decompressing, do not restore the original file name if present (remove only the gzip suffix from the compressed file name) and do not restore the original time stamp if present (copy it from the compressed file). This option is the default when decompressing.

-N --name
When compressing, always save the original file name and time stamp; this is the default. When decompressing, restore the original file name and time stamp if present. This option is useful on systems which have a limit on file name length or when the time stamp has been lost after a file transfer.

-q --quiet
Suppress all warnings.

-r --recursive
Travel the directory structure recursively. If any of the file names specified on the command line are directories, gzip will descend into the directory and compress all the files it finds there (or decompress them in the case of gunzip ).

-S .suf --suffix .suf
Use suffix .suf instead of .gz. Any suffix can be given, but suffixes other than .z and .gz should be avoided to avoid confusion when files are transferred to other systems. A null suffix forces gunzip to try decompression on all given files regardless of suffix.


Previous versions of gzip used the .z suffix. This was changed to avoid a conflict with pack(1).

-t --test
Test. Check the compressed file integrity.

-v --verbose
Verbose. Display the name and percentage reduction for each file compressed or decompressed.

-V --version
Version. Display the version number and compilation options then quit.

-# --fast --best
Regulate the speed of compression using the specified digit #, where -1 or --fast indicates the fastest compression method (less compression) and -9 or --best indicates the slowest compression method (best compression). The default compression level is -6 (that is, biased towards high compression at expense of speed).

ADVANCED USAGE

Multiple compressed files can be concatenated. In this case, gunzip will extract all members at once. For example:

gzip -c file1 > foo.gz

gzip -c file2 >> foo.gz

Then gunzip -c foo is equivalent to cat file1 file2

In case of damage to one member of a .gz file, other members can still be recovered (if the damaged member is removed). However, you can get better compression by compressing all members at once:

cat file1 file2 | gzip > foo.gz

compresses better than

gzip -c file1 file2 > foo.gz

If you want to recompress concatenated files to get better compression, do:

gzip -cd old.gz | gzip > new.gz

If a compressed file consists of several members, the uncompressed size and CRC reported by the --list option applies to the last member only. If you need the uncompressed size for all members, you can use:

gzip -cd file.gz | wc -c

If you wish to create a single archive file with multiple members so that members can later be extracted independently, use an archiver such as tar or zip. GNU tar supports the -z option to invoke gzip transparently. gzip is designed as a complement to tar, not as a replacement.

ENVIRONMENT

The environment variable GZIP can hold a set of default options for gzip. These options are interpreted first and can be overwritten by explicit command line parameters. For example:

for sh: GZIP="-8v --name"; export GZIP

for csh: setenv GZIP "-8v --name"

for MSDOS: set GZIP=-8v --name

On Vax/VMS, the name of the environment variable is GZIP_OPT, to avoid a conflict with the symbol set for invocation of the program.

SEE ALSO

znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1), pack(1), compact(1)

DIAGNOSTICS

Exit status is normally 0; if an error occurs, exit status is 1. If a warning occurs, exit status is 2.

Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]

Invalid options were specified on the command line.

file: not in gzip format

The file specified to gunzip has not been compressed.

file: Corrupt input. Use zcat to recover some data.

The compressed file has been damaged. The data up to the point of failure can be recovered using

zcat file > recover

file: compressed with xx bits, can only handle yy bits

File was compressed (using LZW) by a program that could deal with more bits than the decompress code on this machine. Recompress the file with gzip, which compresses better and uses less memory.

file: already has .gz suffix -- no change

The file is assumed to be already compressed. Rename the file and try again.

file already exists; do you wish to overwrite (y or n)?

Respond "y" if you want the output file to be replaced; "n" if not.

gunzip: corrupt input

A SIGSEGV violation was detected which usually means that the input file has been corrupted.

xx.x%

Percentage of the input saved by compression. (Relevant only for -v and -l.)

-- not a regular file or directory: ignored

When the input file is not a regular file or directory, (e.g. a symbolic link, socket, FIFO, device file), it is left unaltered.

-- has xx other links: unchanged

The input file has links; it is left unchanged. See ln(1) for more information. Use the -f flag to force compression of multiply-linked files.

CAVEATS

When writing compressed data to a tape, it is generally necessary to pad the output with zeroes up to a block boundary. When the data is read and the whole block is passed to gunzip for decompression, gunzip detects that there is extra trailing garbage after the compressed data and emits a warning by default. You have to use the --quiet option to suppress the warning. This option can be set in the GZIP environment variable as in:

for sh:
GZIP="-q" tar -xfz --block-compress /dev/rst0

for csh: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0

In the above example, gzip is invoked implicitly by the -z option of GNU tar. Make sure that the same block size (-b option of tar) is used for reading and writing compressed data on tapes. (This example assumes you are using the GNU version of tar.)

BUGS

The --list option reports incorrect sizes if they exceed 2 gigabytes. The --list option reports sizes as -1 and crc as ffffffff if the compressed file is on a non seekable media.

In some rare cases, the --best option gives worse compression than the default compression level (-6). On some highly redundant files, compress compresses better than gzip.

NAME

ident - identify RCS keyword strings in files

SYNOPSIS

ident [ -q ] [ -V ] [ file .-.-. ]

DESCRIPTION

ident searches for all instances of the pattern $keyword:text$ in the named files or, if no files are named, the standard input.

These patterns are normally inserted automatically by the RCS command co(1), but can also be inserted manually. The option -q suppresses the warning given if there are no patterns in a file. The option -V prints ident's version number.

ident works on text files as well as object files and dumps. For example, if the C program in f.c contains

#include <stdio.h>
static char const rcsid[] = "$Id: f.c,v 1.3 1996/01/31 14:31:13 sfrennem Stable $";
int main() { return printf("%s\n", rcsid) == EOF; }

and f.c is compiled into f.o, then the command ident f.c f.o

will output

f.c: $Id: f.c,v 1.3 1996/01/31 14:31:13 sfrennem Stable $
f.o: $Id: f.c,v 1.3 1996/01/31 14:31:13 sfrennem Stable $

If a C program defines a string like rcsid above but does not use it, lint(1) may complain, and some C compilers will optimize away the string. The most reliable solution is to have the program use the rcsid string, as shown in the example above.

ident finds all instances of the $keyword:text$ pattern, even if keyword is not actually an RCS-supported keyword. This gives you information about nonstandard keywords like $XConsortium$.

KEYWORDS

Here is the list of keywords currently maintained by co(1). All times are given in Coordinated Universal Time (UTCs, sometimes called GMT) by default, but if the files were checked out with co's -zzone option, times are given with a numeric time zone indication appended.

$Author$
The login name of the user who checked in the revision.

$Date$
The date and time the revision was checked in.

$Header$
A standard header containing the full pathname of the RCS file, the revision number, the date and time, the author, the state, and the locker (if locked).

$Id$ Same as $Header$, except that the RCS filename is without a path.

$Locker$
The login name of the user who locked the revision (empty if not locked).

$Log$ The log message supplied during checkin. For ident's purposes, this is equivalent to $RCSfile$.

$Name$
The symbolic name used to check out the revision, if any.

$RCSfile$
The name of the RCS file without a path.

$Revision$
The revision number assigned to the revision.

$Source$
The full pathname of the RCS file.

$State$
The state assigned to the revision with the -s option of rcs(1) or ci(1).

co(1) represents the following characters in keyword values by escape sequences to keep keyword strings well-formed.

char escape sequence

tab \t
newline \n
space \040
$ \044
\ \\

IDENTIFICATION

Author: Walter F. Tichy.
Manual Page Revision: 1.5; Release Date: 1996/10/08. .
Copyright © 1982, 1988, 1989 Walter F. Tichy.
Copyright © 1990, 1992, 1993 Paul Eggert.

SEE ALSO

ci(1), co(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1), rcsfile(5)
Walter F. Tichy, RCS-A System for Version Control, Software-Practice & Experience 15, 7 (July 1985), 637-654.

NAME

imports - list import definitions

SYNOPSIS

imports [-help] [-verbose [-indent [-short]]] [-quiet] [-file filename] [path]

DESCRIPTION


The imports command lists variable definitions in product/system imports files recursively. If a variable has different definitions in different imports files an error message is printed.
If a variable definition is a directory specification, the command looks for the imports file in "directory" (systems) and "directory/info" (products).
Not found files and directories are listed.

PARAMETERS

[path]
Path to system or product. If omitted, use the environment variables $SDE_SYSTEM_DIR and $SDE_SYSCONF to build the path. This parameter is required for products.

OPTIONS

-help
Print help information.

-file filename

Alternative imports filename. Default imports filename is imports.mkf.

-indent
Indent output listings in a way that is suitable for use with command xtree. Error messages are suppressed with this option.

-quiet
Quiet mode, exclude listing of not found files and directories.

-short
Short mode. List variable names only.

-verbose
Verbose. List name of imports.mkf files as they are processed.

EXAMPLES

$ imports

lists system definitions in $SDE_SYSTEM_DIR/$SDE_SYSCONF/imports.mkf

$ imports -verbose -indent /ipa/products/proda/1.2-1/hp-pa

lists product definitions in file /ipa/products/proda/1.2-1/hp-pa/info/imports.mkf. The names of the product import files are also listed. The output listing is indented for graphical presentation with the command xtree.

SEE ALSO

xtree(1)

AUTHOR

E Antonsson

NAME

indent - program for formatting of source code of C and C++ programs.

SYNOPSIS

indent [input-file [output-file]] [-bad|-nbad] [-bap|-nbap] [-bbb|-nbbb] [-br|-brr] [-cn] [-cdn] [-cin] [-cdb|-ncdb] [-ce|-nce] [-dn] [-din] [-fc1|-nfc1] [-in] [-ip|-nip] [-ln] [-lp|-nlp] [-pcs|-npcs] [-npro] [-prs|-nprs] [-psl|-npsl] [-sc|-nsc] [-sob|-nsob] [-st] [-troff] [-v|-nv] [-+]

DESCRIPTION


Indent takes as input, source code of C or C++ programs and transforms it to produce new output file, whose code will be written according to ABB Industrial Systems style guide. So you can use your own style while writing programs, and in the end use indent to get code which satisfies style guide. If you only specify an input-file, the formatted file is written back into input-file and a backup copy of input-file is written in the current directory. If input-file is named /usr/name/file, the backup file is named /usr/name/file.BAK. If output-file is specified, indent checks to make sure it is different from input-file. Order of options is not important.

OPTIONS

-+
Turns on support for C++. In C++ mode, :: is permitted in identifiers, C++ keywords are supported. Files with extension .C and .H are recognized as C++ files by default.

-Ttypename
Adds typename to the list of type keywords. Names accumulate: -T can be specified more than once. You need to specify all the typenames that appear in your program that are defined by typedefs - nothing will be harmed if you miss a few, but the program wont be formatted as nicely as it should. This sounds like a painful thing to have to do, but its really a symptom of a problem in C Typedef causes a syntactic change in the language and indent cant find all typedefs.

-Ffilename
Specified file has to contain names of user defined types, one in each line. This is only another way to pass typenames to formatter if there is lot of them, and you dont want to use -T option. This option can be specified more than once if there is more than one file with typenames. Another way to tell formatter name of file which contains typenames, is to define environment variable TYPENAMES, and assign it name of file.

-v,-nv
Option -nv turns off verbose mode. When in verbose mode, indent reports when it splits one line of input into two or more lines of output, and gives some size statistics at completion. Default: -v

-st Causes indent to take its input from stdin, and put its output to stdout.

THE FOLLOWING OPTIONS ARE SET TO SATISFY ABB Industrial Systems STYLE GYIDE. IF, FOR SOME REASON, YOU WANT TO CHANGE THE DEFAULT, YOU CAN USE THE FOLLOWING OPTIONS:

Options used to make blank lines or force new lines:

-bap,-nbap
A blank line after every procedure body. Default: nbap\bP

-bad,-nbad
A blank line after every block of declarations. Default: \bBnbad\bP

-bbb,-nbbb
A blank line before every block comment. Default: nbbb

-bl,-brr
Option bl lines up compound statements like this:

if (...)
{
code
}

Option brr(default) makes them look like this:

if (...)
{
code
}

-ce,-nce
Option -ce: }else

Option -nce (default): }

else

-psl,-npsl
Option psl: type_proc nps1: type_proc proc_name

proc_name

Default: npsl

Options to insert space in statement:

-pcs,-npcs
If true (pcs) all procedure calls will have a space inserted between the name and the (. Default: npcs

-prs,-nprs
If true (prs) all parentheses will have a space inserted after the ( and before the ). Default: nprs

Options to regulate indentation:

-cin
The continuation lines of the statement will be indented n from the beginning of the first line of the statement. Parenthesized expressions have extra indentation added to indicate the nesting, unless -lp is in effect. Default: the same value as for -i.

-din

declaration_keyword identifier
<- n (char positions) ->

Default: di1

-in The number of spaces for one indentation level. Default: 2

-ip,-nip
Enables (disables) the indentation of parameter declarations from the left margin. Default: ip

-lp,-nlp
Code surrounded by parenthesis in continuation lines. For example, with nlp in effect:
p1 = first_procedure(second_procedure(p2, p3), third_procedure(p4, p5));

With lp in effect (the default):
p1 = first_procedure(second_procedure(p2, p3), third_procedure(p4, p5));

Options for comments:

-cn The column in which comments on code start. Default: 33

-cdn The column in which comments on declarations start. Default: the same column as those on code.

-cdb,-ncdb
With this option enabled, comments look like this:

/*
* this is a comment
*/

Rather than like this:

/* this is a comment */

This only affects block comments, not comments to the right of code. Default: cdb

-dn Comments which are not to the right of code. Such comments are placed n indentation levels to the left of code.Specifying d0 lines up these comments with the code. See the section on comment indentation below. Default: d0

-fc1,-nfc1
Do (Dont) touch comments starting in 1st column. Default: fc1 (it means touch them )

-sc,-nsc
Enables (disables) the placement of asterisks (*s) at the left edge of all comments.

Miscellaneous options:

-ln Maximum length of an output line. Default: 78

-npro
Profile files, ./.indent.pro and ~/.indent.pro, will be ignored.

-sob,-nsob
If sob is specified, indent will swallow optional blank lines. You can use this to get rid of blank lines after declarations. Default: nsob

-troff
Indent will format the program for processing by troff. It will produce a fancy listing in much the same spirit as vgrind. If the output file is not specified, the default is standard output, rather than formatting in place.

FURTHER DESCRIPTION

Comments:
Box comments. Indent assumes that any comment with a dash or star immediately after the start of comment (that is, /*- or /**) is a comment surrounded by a box of stars. Each line of such a comment is left unchanged, except that its indentation may be adjusted to account for the change in indentation of the first line of the comment. Straight text. All other comments are treated as straight text. Indent fits as many words (separated by blanks, tabs, or newlines) on a line as possible. Blank lines break paragraphs.

Comment indentation
If a comment is on a line with code it is started in the comment column, which is set by the -cn command line parameter. Otherwise, the comment is started at n indentation levels less than where code is currently being placed, where n is specified by the -dn command line parameter. If the code on a line extends past the comment column, the comment starts further to the right, and the right margin may be automatically extended in extreme cases.

Special Comments
Indent produces and interprets some special comments. When indent cannot parse the source, it prints a message on standard error and inserts a comment into the output of the form /**INDENT** ErrorMessage */
Indent interprets several special comments as directives. First, it makes no attempt to format lines containing the error comment described above.
Second, lines of the form: /* INDENT OFF */ or /* INDENT ON */ disable and re-enable indent formatting. Any amount of whitespace may replace the spaces shown in the examples.
Third, indent allows formatting controls to be included in the source via comments of the form: /* INDENT: arg1 arg2 arg3 ... arg4 */ The arguments given are in the same syntax as the command line or profile file. For example: /* INDENT: -cli.25 -nfc1 */
Preprocessor lines In general, indent leaves preprocessor lines alone. The only reformatting that it will do is to straighten up trailing comments. It leaves imbedded comments alone. Conditional compilation (#ifdef...#endif) is recognized and indent attempts to correctly compensate for the syntactic peculiarities introduced.

C syntax
Indent understands a substantial amount about the syntax of C, but it has a forgiving parser. It attempts to cope with the usual sorts of incomplete and misformed syntax. In particular, the use of macros like: #define forever for(;;) is handled properly.

EXTERNAL INFLUENCES

Environment variables:
Environment variable TYPENAMES is checked. If it is set it should contain a name of a file which contains names of user defined types.

Files:
You may set up your own profile of defaults to indent by creating a file called .indent.pro in either your login directory or the current directory and including whatever switches you like. A .indent.pro in the current directory takes precedence over the one in your login directory. If indent is run and a profile file exists, then it is read to set up the programs defaults. Switches on the command line, though, always override profile switches. The switches should be separated by spaces, tabs or newlines.

BUGS

A common mistake that often causes grief is typing: indent *.c to the shell in an attempt to indent all the C programs in a directory. This does not work. You probably expect to get exactly the same file after formatting of code which is already formated by formatter. Some changes in comment look are possible.

EXAMPLES

To format C++ module infile.C you can use following command:
indent infile.C outfile.C

To tell indent that you are introducing types my_type1 and my_type2, and that you have file which contains names of the types that you are using in your program, you can use:
indent afile.c bfile.c -Tmy_type1 -Tmy_type2 -Ffile_with_types.txt\bP

AUTHOR

Goran Mustapic

NAME

lnadd - Create symbolic links to files placed in another directory.

SYNOPSIS

lnadd file_dir [ln_dir]

DESCRIPTION

The command creates symbolic links in the ln_dir to the files placed in the file_dir directory. If a file is already present in the ln_dir directory, it is overwritten if the file in the file_dir is newer.

PARAMETERS

file_dir
Specifies the directory to which files the symbolic links should be created.

ln_dir
Specifies the directory in which should the links be created. By default, the current directory is taken.

OPTIONS

-i
Ask for each file in the file_dir if the link should be created.

-l Create the link to the RCS subdirectory too.

-d Create also links to the subdirectories placed in the file_dir (except RCS, unless -l was specified, too).

-r If a file in the file_dir is actually a symbolic link, do not point at it, but on the real file.

-o Write over the files (not directories) present in the ln_dir. By default, the files (not directories) are overwritten if they are older than files in the file_dir

-k If a file is already present in the ln_dir, keep it.

-v Show links that are created.

EXAMPLES

$ lnadd /ipa/projects/proj1/members/work1

creates links in the current directory which point to the files placed in the /ipa/projects/proj1/members/work1 directory.

SEE ALSO

p_lnadd(1)

AUTHOR

Ivica Crnkovic, Mats Medin

NAME

lnlist - list all files in a directory and show which files are (or are not) defined as symbolic links

SYNOPSIS

lnlist tree_root

DESCRIPTION

The lnlist command lists all symbolic links placed under the tree_root. Optionally, it list all files that are not symbolic links, or it lists all the files.

OPTIONS

-n[ot_links]
lists files that are not symbolic links.

-a[ll]
lists all files (that are and that are not symbolic links).

-c[mode]
Shows chmode, owner and group values of the directories and files.

SEE ALSO

ln(1), lntree(1), lnmerge(1), product(1)

AUTHOR

Mats Medin, Ivica Crnkovic

NAME

lnmerge - copy files pointed out by symbolic links to the place where the links were defined

SYNOPSIS

lnmerge [-i] [-u] [-c chmode] [-o owner] [-g group] [-v] tree_root

DESCRIPTION

The lnmerge command goes through the tree_root directory structure and searches for symbolic links. When a symbolic link is found, it is replaced by a true copy of the file. This way, the lnmerge command collects all the files under the tree_root.

OPTIONS

-i[nquire]
requires a confirmation for each symbolic link to be replaced by a copy of a file.

-u sets the access to the files copied according to the u-mask.

-o owner
Defines owner of the directories.

-o group
Defines group for the directories.

-c chmod
Defines acces to files. May be any parameter of the
chmod command.

-v[erbose]
shows which files are copied.

SEE ALSO

ln(1), lnlist(1), lntree(1), product(1), chmod(1), chown(1), chgrp(1)

AUTHOR

Ivica Crnkovic

NAME

lntree - copy a directory tree and make symbolic links to all files in the source directory tree

SYNOPSIS

lntree [-i] [-r] [-c chmode] [-o owner] [-g group] [-v] source_tree dest_tree

DESCRIPTION

The lntree command creates a dest_tree directory structure that corresponds to the source_tree directory structure. Symbolic links to all files in the source_tree are created in the dest_tree.

OPTIONS

-i[nquire]
requires a confirmation for each link that is created.

-r[ecursive]
tests if the file in the source_tree is also defined as a symbolic link. If this is true, then this link, in turn, is replaced by its value, until finally a real file is found.

-o owner
Defines owner of the directories.

-g group
Defines group for the directories.

-c chmod
Defines acces to the files. chmod may be any parameter of the chmod command.

-v[erbose]
shows which directories and links are created.

SEE ALSO

mkdir(1), ln(1), lnmerge(1), lnlist(1), product(1), chmod(1), chown(1), chgrp(1)

AUTHOR

Ivica Crnkovic

NAME

lsver - list files and show which are versioned

SYNOPSIS

lsver [-r] [name ...]

DESCRIPTION

The command lsver shows files in the same way as ls command and in addition it gives information about if files are writable or readonly, and if there exist corresponding RCS files in the RCS library. If for a file a RCS file is found, then the text Ver denotes it. Date of the file with the date of the RCS file is compared. If the exported file is older then the RCS file, then the text old is displayed, otherwise the texts up-to-date or new are shown. The text old means that there exists a newer version of the file in the RCS library which should be check out. The up-to-date denots that the RCS library has not been changed after the ckeck out. The new text shows that a new working version of the file exist.

PARAMETERS

name
denotes a directory or a file. A wild card naming my be used in exactly the same way as for the ls command. If no name is specified then the current directory is listed.

OPTIONS

-r
lists all the subdirectories (corresponding to the ls -R option).

EXAMPLES

lsver
RCS dir
get_param - Ver up-to-date
ipa_structure - Ver up-to-date
lsver w Ver new
project - Ver up-to-date
project.help - Ver up-to-date
project_add_member w Ver new
project_add_system w Ver new
project_addsystem.hel - Ver up-to-date
project_addwd - Ver up-to-date
project_create w Ver new
project_create.help - Ver up-to-date
project_delete - Ver up-to-date
project_delete_member - Ver up-to-date
project_delete_system - Ver up-to-date

SEE ALSO

ls(11), rcs(1)

AUTHOR

Ivica Crnkovic

NAME

makeman - make manual page from pure text.

SYNOPSIS

makeman [input_file [result_file]]

DESCRIPTION


makeman is a simple awk-based filter that recognizes uppercase headlines and key characters like "-" at the beginning of a line and adds formatting directives so that the resulting output file can be put in . . ./man1 and used by the man command. makeman is designed to take as input a page from a Framemaker document, like this one, copied to a temporary document, with hyphenation then turned off, and saved as "Text Only" with "Put a Carriage Return at the End of Each Line". makeman prompts for information to put in the man page header.

PARAMETERS

input_file
Specifies the file from which to read. If input file is not specified, makeman will ask for one.

output_file
Specifies the file to write to. If output file is not specified, makeman will ask for one. If the file already exists, it will be overwritten.

WARNINGS

If an option is accompanied by a value, the description must not follow on the same line. If it does, makeman will assume that the "option value" is part of the description.

Parameter names and "option values" must be single-word for makeman to recognize them. For example, "input_file" is recognized as a parameter name, but "input file" is not.

If an option is immediately followed (without any space) by a value, makeman cannot see the difference; both the option and the value will be boldface.

Lines containing boldface or italic text are sometimes truncated by the man command on HP-UX.

EXAMPLES

makeman myprog.tmp myprog.1

reads the file myprog.tmp and produces a corresponding manual page file myprog.1.

SEE ALSO

mangen(1), template(1), Framemakers "Filterpak" troff filter.

AUTHOR

Mats Medin

NAME

manDate - modify product/date information in man page file(s)

SYNOPSIS

manDate [-i] [-v] [-c "company_name"] "text" file...

DESCRIPTION


Substitutes the product/date information in man page file(s) by text. The product/date information is found by searching for the special characters preceding the product/date information.
Symbolic links are not followed.

PARAMETERS

text

Information about product and date. The text should be given in double quotes. Format:

<product_name> <release>: <YYYY-MM-DD>

file...

One or more files separated by spaces. The (*) convention can be used in file name.

OPTIONS

-i[nteractive]
modifies the files interactively

-v[erbose]
prints a list of all modified files

-c "company_name"
modifies the company name

EXAMPLES

manDate """SDE 2.1/0pre3: 1992-06-24""" /ipa/products/sde/2.1-0pre3/man/man1/*1

SEE ALSO

makeman(1)

AUTHOR

E Antonsson

NAME

make - GNU make utility to maintain groups of programs

SYNOPSIS

make [ -f makefile ] [ option ] ... target ...

WARNING

This man paage is an extract of the documentation of GNU make . It is updated only occasionally, because the GNU project does not use nroff. For complete, current documentation, refer to the document "GNU Make User's Manual", 3BSE001520.

DESCRIPTION

The purpose of the make utility is to determine automatically which pieces of a large program need to be recompiled, and issue the commands to recompile them. This manual describes the GNU implementation of make, which was written by Richard Stallman and Roland McGrath. Our examples show C programs, since they are most common, but you can use make with any programming language whose compiler can be run with a shell command. In fact, make is not limited to programs. You can use it to describe any task where some files must be updated automatically from others whenever the others change.

To prepare to use make, you must write a file called the makefile that describes the relationships among files in your program, and the states the commands for updating each file. In a program, typically the executable file is updated from object files, which are in turn made by compiling source files.

Once a suitable makefile exists, each time you change some source files, this simple shell command:

make


suffices to perform all necessary recompilations. The make program uses the makefile data base and the last-modification times of the files to decide which of the files need to be updated. For each of those files, it issues the commands recorded in the data base.

make executes commands in the makefile to update one or more target names, where name is typically a program. If no -f option is present, make will look for the makefiles GNUmakefile, makefile, and Makefile, in that order.

Normally you should call your makefile either makefile or Makefile. (We recommend Makefile because it appears prominently near the beginning of a directory listing, right near other important files such as README.) The first name checked, GNUmakefile, is not recommended for most makefiles. You should use this name if you have a makefile that is specific to GNU make, and will not be understood by other versions of make. If makefile is `-', the standard input is read.

make updates a target if it depends on prerequisite files that have been modified since the target was last modified, or if the target does not exist.

OPTIONS


-b

-m These options are ignored for compatibility with other versions of make.

-C-dir Change to directory dir before reading the makefiles or doing anything else. If multiple -C options are specified, each is interpreted relative to the previous one: -C-/ -C-etc is equivalent to -C-/etc. This is typically used with recursive invocations of make.

-d Print debugging information in addition to normal processing. The debugging information says which files are being considered for remaking, which file-times are being compared and with what results, which files actually need to be remade, which implicit rules are considered and which are applied---everything interesting about how make decides what to do.

-f-file Use file as a makefile.

-i Ignore all errors in commands executed to remake files.

-I-dir Specifies a directory dir to search for included makefiles. If several -I options are used to specify several directories, the directories are searched in the order specified. Unlike the arguments to other flags of make, directories given with -I flags may come directly after the flag: -Idir is allowed, as well as -I-dir. This syntax is allowed for compatibility with the C preprocessor's -I flag.

-j-jobs Specifies the number of jobs (commands) to run simultaneously. If there is more than one -j option, the last one is effective. If the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously.

-k Continue as much as possible after an error. While the target that failed, and those that depend on it, cannot be remade, the other dependencies of these targets can be processed all the same.

-l

-l-load Specifies that no new jobs (commands) should be started if there are others jobs running and the load average is at least load (a floating-point number). With no argument, removes a previous load limit.

-n Print the commands that would be executed, but do not execute them.

-o-file Do not remake the file file even if it is older than its dependencies, and do not remake anything on account of changes in file. Essentially the file is treated as very old and its rules are ignored.

-p Print the data base (rules and variable values) that results from reading the makefiles; then execute as usual or as otherwise specified. This also prints the version information given by the -v switch (see below). To print the data base without trying to remake any files, use make -p -f/dev/null.

-q ``Question mode''. Do not run any commands, or print anything; just return an exit status that is zero if the specified targets are already up to date, nonzero otherwise.

-r Eliminate use of the built-in implicit rules. Also clear out the default list of suffixes for suffix rules.

-s Silent operation; do not print the commands as they are executed.

-S Cancel the effect of the -k option. This is never necessary except in a recursive make where -k might be inherited from the top-level make via MAKEFLAGS or if you set -k in MAKEFLAGS in your environment.

-t Touch files (mark them up to date without really changing them) instead of running their commands. This is used to pretend that the commands were done, in order to fool future invocations of make.

-v Print the version of the make program plus a copyright, a list of authors and a notice that there is no warranty. After this information is printed, processing continues normally. To get this information without doing anything else, use make -v -f/dev/null.

-w Print a message containing the working directory before and after other processing. This may be useful for tracking down errors from complicated nests of recursive make commands.

-W-file Pretend that the target file has just been modified. When used with the -n flag, this shows you what would happen if you were to modify that file. Without -n, it is almost the same as running a touch command on the given file before running make, except that the modification time is changed only in the imagination of make.

SEE ALSO

/usr/local/doc/gnumake.dvi
The GNU Make Manual

BUGS

See the chapter `Problems and Bugs' in The GNU Make Manual .

AUTHOR

This manual page contributed by Dennis Morse of Stanford University. It has been reworked by Roland McGrath.

NAME

mangen - generate manual entries for library

SYNOPSIS

mangen [-d] [-n] [-l] [-b] [-f] [-g] chapter file

PARAMETERS

file
the file to be processed

chapter
can be any digit or any of the following

chapter
abbreviations: # abbr name what

0 con* conventions - conventions and overview material

over* overview

1 lib* libraries - subroutine library summaries

2 routines - individual library routines

3 task* task - tasks and drivers

tsk* task

dr* drivers

4 tool* tools - Unix development/maintenance tools

DESCRIPTION

The tool mangen generates the manual files:

<name>.<chapter#>
manual entry for module

<name>.<chapter#+1>
manual entries for each routine if option -l or lib is given

where <name> is the "root" of the "tail" of the specified file (i.e. if file="/usr/dave/gronk.c", then name="gronk");

and <chapter#> is the single digit chapter number (i.e. just the specified chapter number if one was given, or the number from the table below if a chapter name was given). mangen manages comments as #, % and C/C++-comments.

OPTIONS

-l flag causes a special library module style manual entry to be created. The manual entry for a library has a specially constructed synopsis section that contains the titles and calling sequence of each routine in the library. Also a separate manual entry is generated for each of the routines in the library. These routine manual entries will be put in a file named xxxLib.2.

-d flag causes the intermediate nroff source files to NOT be deleted. These are called "mg.out" and "mgr.out" for the module manual entry and individual routine entries (only if -l option specified), respectively. This option is useful for debugging manual entries that dont look the way you expected.

-n flag causes nroff sources not to be deleted, and not to be nroffed either. In this case, "mg.out" (and "mgr.out") will be renamed and copied to their right names

-b enables the use of "easy" bold, italic and underline control characters. Single words can be enclosed by #, % or : to make them bold, italic or underlined. E.g. #bold#, %italic% or : underlined :

-f flag causes mangen to not separate each routine manual page with formfeeds, when library manuals are produced.

-s flag changes the section headings (nroff .SH) to subsection headings (nroff .SS), and adds a section heading (.SH), with the module/function name, at the top of each manual page output.

-g flag may be set to generate debug output.

NOTE

Specifying the chapter as "lib" automatically selects the -l option.

EXAMPLE

% mangen lib /usr/vw/lib/manpage.c

will create "manpage.2" and "manpageLib.2" in the current directory.

REMARKS

mangen was originaly developed by Wind River Systems Inc. It is further developed and more features are added by ABB Industrial Systems AB, Sweden.

SEE ALSO

mantomif(1), mifform(1), splitman(1), concatman(1), mgTemplate(1)

AUTHOR

SEISY/LKSS Ake Bromo, SEISY/LKST Lars Petter Glomsrud, SEISY/LKAA Mats Molander

NAME

mantomif - Convert a manual page nroff file to FrameMaker mif format

SYNOPSIS

mantomif [-c] [-l] [+l [<awk-file>]] [-t] [+t] [-h host] <infile >outfile

PARAMETERS

infile the name of the file you want to convert.

outfile the name of the converted file.

OPTIONS

+l awk_file
This option denotes that text layouts, that can be interpreted as indented paragraphs or tagged lists, should be converted to lists in nroff format before these are supplied to the utility program trofftomif. The optional argument awk_file can specify an alternative awk-program file to be used for this conversion. By default option +l is selected, and the awk-file is $SDE_HOME/lib/nrofftroff.awk

-l This option cancels the option +l

+t This option denotes that tabulation characters (TAB) should be instered, instead of multiple blanks, at even 8 columns. This is done before supplying the text to the utility program trofftomif. By default option +t is selected.

-t This option cancels the option +t

-c This option enables substitution of scandinavian characters, so they will appear correct in the produced mif-file output.

-h host
The name of the host that should execute the utility program trofftomif. Default host is read from the environment variable TROFFTOMIF_HOST, or if not set, ws63.

DESCRIPTION

The mantomif filter converts manual page files in nroff format to MIF (release 3.1) format. The input file is typically the output from the tool mangen and the output is a file of the Maker Interchange Format (mif). The input is read from the standard input file and the output is written to the standard output file.

The main conversion is made by the utility program trofftomif, but this script performs some necessary preparations/filterings of the input file before it is supplied to the trofftomif program. These preparations/filterings are basically:

1) convert nicely laid out lists into nroff format lists (can be unselected with option -l).

2) substitute multiple blanks with tabulation characters (can be unselected with option -t).

3) (selected by option -c) convert special characters:

from to
0x140 (-) 0x81
0x14a (ÿ) 0x80
0x14c (\xda ) 0x85
0x144 (`) 0x8c
0x13a (Ã) 0x8a
0x13c () 0x9a

Some, not oftenly used, utility programs like trofftomif are just installed on one host in the network. The environment variable TROFFTOMIF_HOST or the option -h may control which node should be the host when executing trofftomif.

NOTE

To generate one mif format file out of several manual pages (*.1), then use the command:

cat *.1 | mantomif > outfile (Of course with the right options...)

SEE ALSO

mangen(1), mifform(1)

AUTHOR

SEISY/LKSS Ake Bromo

NAME

merge - three-way file merge

SYNOPSIS

merge [ options ] file1 file2 file3

DESCRIPTION

merge incorporates all changes that lead from file2 to file3 into file1. The result ordinarily goes into file1. merge is useful for combining separate changes to an original. Suppose file2 is the original, and both file1 and file3 are modifications of file2. Then merge combines both changes.

A conflict occurs if both file1 and file3 have changes in a common segment of lines. If a conflict is found, merge normally outputs a warning and brackets the conflict with <<<<<<< and >>>>>>> lines. A typical conflict will look like this:

<<<<<<<-file-A
lines in file A
=======
lines in file B
>>>>>>>-file-B

If there are conflicts, the user should edit the result and delete one of the alternatives.

OPTIONS

-A
Output conflicts using the -A style of diff3(1), if supported by diff3. This merges all changes leading from file2 to file3 into file1, and generates the most verbose output.

-E, -e
These options specify conflict styles that generate less information than -A. See diff3(1) for details. The default is -E. With -e, merge does not warn about conflicts.

-L-label
This option may be given up to three times, and specifies labels to be used in place of the corresponding file names in conflict reports. That is, merge--L-x--L-y--L-z-a-b-c generates output that looks like it came from files x, y and z instead of from files a, b and c.

-p Send results to standard output instead of overwriting file1.

-q Quiet; do not warn about conflicts. -V Print RCSs version number.

DIAGNOSTICS

Exit status is 0 for no conflicts, 1 for some conflicts, 2 for trouble.

IDENTIFICATION

Author: Walter F. Tichy.
Manual Page Revision: 1.5; Release Date: 1996/10/08.
Copyright © 1982, 1988, 1989 Walter F. Tichy.
Copyright © 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.

SEE ALSO

diff3(1), diff(1), rcsmerge(1), co(1).

BUGS

It normally does not make sense to merge binary files as if they were text, but merge tries to do it anyway.

NAME

mfind - find file in /ipa/systems or in /ipa/products.

SYNOPSIS

mfind [options] file

DESCRIPTION

The command mfind search for a file in /ipa/systems or in /ipa/products. If neither -p (product) or -s (system) option is given the command looks for the variables SDE_SYSTEM and SDE_SYSCONF to know where to search. If the -r (rcsinfo) option is given information from RCS is displayed together with the file.

PARAMETERS

file
Specifies which file to search for.

OPTIONS

-r
Display information from the RCS library for the file

-s system
Search for file in system.

-p product
Search for file in product.

EXAMPLES

mfind -r xfile

mfind -s sde_system/2.2-0 xfile

mfind -r -s sde_system/2.2-0 -p sde/2.1-0 xfile

SEE ALSO

AUTHOR

Lars-Erik Strom

NAME

mgTemplate.c - template for test of mangen

DESCRIPTION

This file illustrates how a source code file should be laid out in order to automatically generate manual pages (and further reference pages for users guides and functional descriptions). This file should be processed with the mangen program which generates a properly formatted manual page for the file. The mangen program is able to generate output in two different output formats:

nroff format
Such output files are suited for the manual
libraries used by the man command. These
files may also be further processed to generate
Frame Maker files.

formatted text
Such output files may be displayed with the
more command.

When processing a C or C++ program file (like this file), mangen can be controlled to generate two manual files, one containing the library introduction/summary description and one containing all the routine descriptions (that are selected for the manual). The former manual file (library summary file) will contain a synopsis entry for the library as a whole. The latter file can later be split up into separate manual entry file, one for each routine, using the program splitman.

To generate such library manual files, mangen shall be called with the following options:

mangen -n lib mgTemplate.c
# -n option gives nroff format files

FORMATTING RULES

mangen assumes some certain layout of the file to be processed. The source file contains the following main part:

File Header
Introduction/Summary Description
Routine Descriptions

General

All text that are intended for the manual files are (normally) written within comment blocks. mangen recognizes the following comment styles (in the following examples an exclamation mark (!) indicates the left text margin):

1 !/-*
!* First text column may either be after one space
!* (after a '*'), or
!*/

2 !/-*
!*after no spaces, or
!*/

3 !/-*
!after neither '*' nor space, in c comments
!*/

4 !// C++ comment

5 !//C++ comment

6 !# Script comment

7 !#Script comment

8 !%MatLab comment

9 !% MatLab comment

mangen is also controlled by different key-words that might appear in the text. A key-word is actually a subheading (see Subheading below), thus a word, all in capital letters. The different key-words that control mangen will be described in the following sections in their right context. mangen recognizes an end of a description section as either of:

1 !*/

2 ! */

3 !//*/

4 !#*/

5 !/*>*/

6 !//>*/

(The two last [5 and 6] indicates that no function declaration follows).

Subheading

A subheading is designated by a line containing words in upper-case letters, and starting in column one or two. Three styles for entering subheadings are accepted:

1 !SEE ALSO
!mangen(1)

2 !EXAMPLE: mangen -n lib mgTemplate.c

3 ! MANUAL NAME Mangen Reference Manual

A text may follow the subheading on the same line, if a colon (:), case 2, or at least two spaces, case 3, separates the subheading from the text.

File Header

The file header contains information that will appear as the NAME section, and in the page headers and footers of the manual. The first lines of the file header must contain the module name and a short, one sentence, description. It may be entered in two different ways:

1 ! mgTemplate.c - A template for test of mangen

2 ! FILE mgTemplate.c
! DESCRIPTION A template for test of mangen

The following optional key-words are recognized in the file header part:

AUTHOR
the author name will be added at the end of the manual page.

MANUAL NAME
the manual name will appear in the center of the page headers.

SYSTEM
the system name will appear on the right of the page footers.

COPYRIGHT/Copyright

the company name is extracted from the
copyright notice and will appear to the
left of the page footers.

Introduction/Summary Description

The Introduction/Summary Description part starts, either:

after the key-word "ABSTRACT"
or
after the text section that starts with the text
"modification history" (i.e. after the first blank line following the
"modification history" section).

The subheading DESCRIPTION will automatically be inserted if one is not supplied at the top of this section. If the first subheading is ABSTRACT it will be replaced by DESCRIPTION.

Leading spaces in this section are meaningful in the following way: nroff will fill/justify everything except lines that begin with a space. This is useful since you can easily enter simple displays just by indenting:

-a some option

-b some other option

-c the final option

You can use tabs fearlessly because the entire source module is initially expanded to spaces before processing. Tabs are expanded to every 8 columns.

However, remember that the width of the man page screen display is only 60 characters. If text in an indented display as above should exceed this, it will appear ragged and difficult to read.
.sp "1.br"
Blank lines are preserved in the resulting output.

Nroff/troff requests and macros are passed through transparently. The macros used in the final formatting, tmac.angen and tmac.ref, are closely related to the UNIX man macros. See the example of an itemized list above under Subheading.

Routine Descriptions

Routine descriptions are only included in the secondary manual file, which is generated for library manuals, by:

mangen lib <file>

or

mangen -l
<file>

A routine description is recognized as the comment block starting with a star-line, either of:

1 /-********-********-********-********-********

2 //-********-********-********-********-********

The first (non-blank) line of a routine description is regarded as the title line, like:

<routine name> - <description>

This line will appear as the "NAME" entry in the routine manual file.

After a blank line, the description section follows. If no subheading is supplied, the subheading will be "DESCRIPTION".

This description block follows the same formatting rules as the Introduction/Summary description. (See above). Subheadings may be entered as appropriate.

The routine description comment block is assumed to end at the description end-mark (e.g. '*/'), or at the first found blank, non-comment, line.

After the end of the routine description, the routine declaration must follow. It may be supplied in different styles, either old c-style or ANSI-C style; either all parameters in one line or in several lines; either with comments for the parameters or without comments. Here follows some examples:

extern char* strdup(char* s);

char* strcpy(char* s1, const char s2)
{ ... }

char* strncpy(
char* s1, /-* destination string */
const char s2, /-* source string */
int length) /-* max length of string s1 */
{ ... }

int strncmp(s1, s2, length)
const char* s1; /-* destination string */
const char* s2; /-* source string */
int length; /-* max length of string s1 */
{ ... }

This routine declaration will appear as the SYNOPSIS section, just after the NAME section, in the routine manual output. You can easily enter additional synopsis lines, intended to appear before the routine declaration, in the output. This is typically used to show "#include <...>" lines. Just write a SYNOPSIS section, anywhere in the comment block. All the following lines, til the next blank line, will be put first in the synopsis section. (If you want to enter empty lines within the section, such can be made by writing a \" at the beginning of the line [nroff comment leader]).

See further the following routine descriptions in this mgTemplate.c file.

Type Declaration and Macro Definition Descriptions

Type declaration and macro definition descriptions are almost identical to routine descriptions. The only diffeerence is that these latter are not followed by a routine declaration, but by a type declaration or a macro definition. mangen allows that type declarations are copied transparently from the source code to the synopsis section of the manual output. Instead of ending the routine description with the normal end-mark '*/', end it with the mark: '<*/'.

The source lines will then be copied transparantly, til the mark: '>*/'. Thus, the source lines shall be enclosed by the marks, as in this example:

/-*
*
*<*/
typedef struct
{ int x, y; } XY_coordinates;

/-*>*/

For macro definitions the same technique can be used, or in an alternative way, if only the macro prototype part shall be shown and not its implementation. The macro prototype can be written in a SYNOPSIS section, just showing the essential parts. Then the description block is ended with the mark: '>*/' (which means, no function prototype shall be copied).

Within a sequence of transparently copied source lines, it is very useful to use the "HIDE" and UNHIDE" key-words to exclude some lines with implementation details from the manual output (e.g. inline code in C++ class declarations).

See further the following routine descriptions in this mgTemplate.c file.

ERRORS

In the process of generating the manual entry, a few checks are made:

1 The module name (the 1st word of the title line or the "FILE" entry) must exactly match the source file name.

2 A module description section (a block comment following the modification history or "ABSTRACT" subheading) must be present.

3 The subroutine name (the 1st word of the routine title line) must exactly match the actual declared routine name.

OTHER RECOGNIZED KEYWORDS

mangen recognizes the following additional subheading key-words:

NO MANUAL
Indicates that this routine entry shall not be included in the library manual file. The entire routine description will be excluded. Can also be entered as "NO-MANUAL", "NOMANUAL" or "NO_MANUAL".

INTERNAL
Indicats that the rest of the current description section, til the end-mark, will be ignored and not included in the manual output.

HIDE
Indicats that the following lines shall be ignored and not included in the manual output, til the UNHIDE key-word.

UNHIDE
Indicates that the previous HIDE directive shall be reset.

BUGS

What we really want is not "mangen" that generates the manual entry from the program, but rather "pgmgen" that generates the program from the manual entry.

FILES

This file serves as a template for writing mangen manual page format files, and is avaiable under $SDE_HOME/forms/mgTemplate.c

SEE ALSO

mangen(1), splitman(1), mgTemplate.c, template(1)

AUTHOR

SEISY/LKSS Ake Bromo

NAME

mifform - Script to format new mif format files either with template or existing frm-file

DESCRIPTION

mifform is used when you want a new unformatted mif format file formatted. You can either use an existing formatted FrameMaker file to format your new unformatted mif format file or you can use an existing predefined template to do the same thing. If the file <outfilename> exists, then this file will be renamed as <outfilename>.old (and to <outfilename>.older) and then used as template unless otherwise defined in the command given.

SYNOPSIS

mifform [-t <templatefilename>] <infilename> <outfilename>

OPTIONS

-t
templatefilename is the filename of a preferred preformatted FrameMaker document or an other template standard then the one mifform uses as default. The default template is UsersManual under /usr/frame/fminit/ukenglish/Maker/Templates/ ABBtemplates4.0-0. If the environment variable MIFFORM_TEMPL is set to point to some FrameMaker template, then this filename will be the default template.

PARAMETERS

infilename
The name of the required filename to format

outfilename
The name of the required formatted filename to output

EXTERNAL INFLUENCES

You may define an environment variable called MIFFORM_TEMPL. This variable should point to a template. If it is empty or does not exist, then the default variable mention above will be used.

SEE ALSO

mangen(1), mantomif(1)

AUTHOR

SEISY/LKMT Lars Petter Glomsrud

NAME

mkmf - make a makefile

SYNOPSIS

mkmf [--acdelLSu-] [--f makefile-] [--F template-] [--M language-] [-macroname=value--.-.-.-]

DESCRIPTION

SDE's mkmf creates a makefile that informs the make(1) command how to construct and maintain programs and libraries. SDE's mkmf gathers up all source code file names (including header file names) in the current working directory and inserts them into the makefile. SDE's mkmf also figures out the filenames of object files that will need to be generated, and inserts them too. SDE's mkmf does not generate dependency information but leaves that to be done by make (which may use cpp -M for this purpose, see SDE's make rule files). SDE's mkmf is a script which uses /usr/softbench/lib/mkmf to update filenames in the makefile, but removes the dependencies generated by /usr/softbench/lib/mkmf mkmf identifies source code files by their file name suffixes. mkmf recognizes the following suffixes:

.c C
.C C++
.cc C++
.cxx C++
.cpp C++
.f Fortran
.F Fortran
.h Include files
.H Include files
.hxx Include files
.hpp
.i Pascal include files
.l Lex or Lisp
.o Object files
.p Pascal
.r Ratfor
.s Assembler
.y Yacc
.cbl COBOL
.cob COBOL
.CBL COBOL
.GEN COBOL
.CHK COBOL
.cpy COBOL COPY files
.CPY COBOL COPY files

mkmf checks for an existing makefile before creating one. If no -f option is present, mkmf tries the makefiles Makefile and makefile, respectively.

After the makefile has been created, arbitrary changes can be made using a text editor. mkmf can also be used to re-edit the macro definitions in the makefile, regardless of changes that may have been made since it was created.

By default, mkmf creates a program makefile. To create a makefile that handles libraries, either the -l or -L options must be used.

Make Requests

Given a makefile created by mkmf, make recognizes the following requests:

all
Compile and load a program or library.

clean
Remove all object and core files.

clobber
Remove all files that can be regenerated.

depend
Update included file dependencies in a makefile.
For COBOL files this updates the COPY File dependencies.

echo
List the names of the source code files on standard output.

extract
Extract all object files from the library and place them in the same directory as the source code files. The library is not altered.

index
Print an index of functions on standard output, for C, Pascal, and Fortran source code files.

install
Compile and load the program or library and move it to its destination directory.

print
Print source code files on standard output.

tags
Create a tags file for the ex(1) editor, for C, Pascal, and Fortran source code files.

Several requests can be given simultaneously. For example, to (1) compile and link a program, (2) move the program to its destination directory, and (3) remove any unnecessary object files, use:

make install clean

Macro Definitions

mkmf understands the following macro definitions:

CFLAGS
C compiler flags. After searching for included files in the directory currently being processed, mkmf searches in directories named in -I compiler options and then in the /usr/include directory.

CXXFLAGS
C++ compiler flags. After searching for included files in the directory currently being processed, mkmf searches in directories named in -I compiler options and then in the /usr/include/CC directory, followed by the /usr/include directory.

C++FLAGS
Alternative C++ compiler flags.

CCFLAGS
Alternative C++ compiler flags.

DEST
Directory where the program or library is to be installed.

EXTHDRS
List of included files external to the current directory. mkmf automatically updates this macro definition in the makefile if dependency information is being generated. If EXTHDRS is omitted from the makefile, mkmf does not generate external included file dependencies.

FFLAGS
Fortran compiler flags. After searching for included files in the directory currently being processed, mkmf searches in directories named in -I compiler options, then in the /usr/include directory.

HDRS
List of included files in the current directory. mkmf automatically updates this macro definition in the makefile.

INSTALL
Installation program name.

LD Link editor name.

LDFLAGS
Link editor flags. Before searching for libraries in the /lib and /usr/lib directories, mkmf searches for libraries in directories named by -L link editor options.

LDOPTS
A default set of link editor options. mkmf searches for libraries in directories named by -L link editor options defined in LDOPTS before examining the LDFLAGS macro.

LD_OPTIONS
Similar to the LDOPTS variable. If both variables exist, mkmf uses LDOPTS instead of LD_OPTIONS.

LD_LIBRARY_PATH
After mkmf has searched for libraries in directories defined by LDOPTS, LD_OPTIONS, and LDFLAGS, it searches in a list of colon-separated directories defined by the LD_LIBRARY_PATH environment variable.

LIBRARY
Library name. This macro also implies the -l option.

LIBS
List of libraries needed by the link editor to resolve external references. Since executable files depend on libraries, mkmf expands each library -l-x option to /lib/lib-x.a or /usr/lib/lib-x.a.

LPATH
Environment variable containing a colon-separated list of directories for the link editor to search instead of the default /lib and /usr/lib library directories.

MAKEFILE
Makefile name.

MKMFFLAGS
mkmf options that can be set within a makefile. mkmf recognizes -a, -d, -e, -S, and -u. MKMFFLAGS can only be set within a makefile or on the command-line. A MKMFFLAGS environment variable has no effect.

MKMFSTDINCDIRS_C
Standard list of directories separated by colons or spaces in which to search for included C files instead of the default /usr/include directory.

MKMFSTDINCDIRS_CXX
Standard list of directories separated by colons or spaces in which to search for included C+\h-.1v'+ files instead of the default /usr/include/CC and /usr/include directories.

MKMFSTDINCDIRS_FOR
Standard list of directories separated by colons or spaces in which to search for included Fortran files instead of the default /usr/include directory.

MKMFSTDINCDIRS_PAS
Standard list of directories separated by colons or spaces in which to search for included Pascal files instead of the default /usr/include directory.

MKMFSTDLIBDIRS
Standard list of directories separated by colons or spaces in which to search for libraries instead of the default /lib and /usr/lib directories. The LPATH variable overrides MKMFSTDLIBDIRS.

OBJS
List of object files. mkmf automatically updates this macro definition in the makefile.

PFLAGS
Pascal compiler flags. After searching for included files in the directory currently being processed, mkmf searches in directories named in -I compiler options, then in the /usr/include directory.

PROGRAM
Program name.

SRCS
List of source code files. mkmf automatically updates this macro definition in the makefile.

SUFFIX
List of additional file name suffixes for mkmf to know about.

SYSHDRS
List of included files found in the include directory hierarchy defined by the MKMFSTDINCDIRS macros, or the /usr/include directory hierarchy. mkmf automatically updates this macro definition in the makefile if dependency information is being generated. If SYSHDRS is omitted from the makefile, mkmf does not generate dependencies on files in the MKMFSTDINCDIRS or /usr/include directories.

VPATH
List of source code directories separated by colons or spaces. mkmf will search for files in the current directory, and then in each of the directories defined by VPATH.

Both these and any other macro definitions already within the makefile can be replaced by definitions on the command line in the form macroname=value. For example, to change the C compiler flags and the program name, type the following line:

mkmf "CFLAGS=-I../include -O" PROGRAM=mkmf

Note that macro definitions such as CFLAGS with blanks in them must be enclosed in double quote (") marks.

Environment

The environment is read by mkmf. All variables are assumed to be macro definitions with the exception of MKMFFLAGS, HDRS, EXTHDRS, SRCS, and OBJS. Environment variables are processed after command line macro definitions and the macro definitions in a makefile. The -e option forces the environment to override the macro definitions in a makefile.

File Name Suffixes

mkmf can recognize additional file name suffixes or ignore ones that it already recognizes by specifying suffix descriptions in the SUFFIX macro definition. Each suffix description takes the form .suffix:tI where t is a character indicating the contents of the file (-s = source file, o = object file, h = header file, x = executable file) and I is an optional character indicating the include syntax for header files (C = C syntax, C++ = C syntax plus the addition of /usr/include/CC as a standard search directory, COB = COBOL "COPY file" syntax, F = Fortran and Ratfor syntax, P = Pascal syntax). The following list shows the default configuration for mkmf:

.c:sC C
.C:sC++ C++
.cc:sC++ C++
.cxx:sC++ C++
.cpp:sC++ C++
.f:sF Fortran
.h:h Include files
.H:h Include files
.hxx:h Include files
.hpp:h Include files
.i:h Pascal include files
.l:sC Lex or Lisp
.o:o Object files
.p:sP Pascal
.r:sF Ratfor
.s:s Assembler
.y:sC Yacc
.cbl:sCOB COBOL
.cob:sCOB COBOL
.CBL:sCOB COBOL
.GEN:sCOB COBOL
.CHK:sCOB COBOL
.cpy:h COBOL COPY files
.CPY:h COBOL COPY files

For example, to change the object file suffix to .obj, undefine the Pascal include file suffix, and prevent Fortran files from being scanned for included files, the SUFFIX macro definition could be:

SUFFIX = .obj:o .i: .f:s

Include Statement Syntax

The syntax of include statements for C, C++, Fortran, and Pascal source code are of the form:

C/C++:

#include "filename"
#include <filename>
where # must be the first non-white space character in the line.

Fortran:

#include "filename"
#include <filename>
$include 'filename'$
$INCLUDE 'filename'$
where $ must be the first non-white space character in the line. Alternatively, the $ can be omitted if the include statement starts in column 7. In either case the trailing $ can be omitted.

Pascal:

#include "filename"
#include <filename>
$include 'filename'$
$INCLUDE 'filename'$
where $ must be the first non-white space character in the line and the trailing $ is optional.

COPY file Statement Syntax

The COPY file statement in COBOL has many forms. To insure that the proper expansion has been done on COPY file statement file names a query is made of the ".idy", debug information, file instead of parsing the COBOL source file directly. This means that COPY file dependencies will only be completed for a COBOL source file after it has been compiled debuggable.

User-Defined Templates

If mkmf cannot find a makefile within the current directory, it normally uses one of SDE's standard makefile templates, C++.p, or C++.l, in $SDE_HOME/buildt.
SoftBench provides a set of templates in /usr/softbench/lib/buildt Searching for templates in $PROJECT/lib/mkmf is considered obsolete and is not supported.

Options

mkmf recognizes the following options:

-a Include source files beginning with a . in the makefile.

-c Suppress `creating makefile from .-.-.' message.

-d Turn off scanning of source code for include files and checking COBOL ".idy" files for "COPY file" dependencies. Old dependency information is left untouched in the makefile.

-e Environment variables override macro definitions within makefiles.

-f-makefile
Specify an alternative makefile file name. The default file name is Makefile.

-l Force the makefile to be a library makefile.

-L Force the makefile to be a library makefile containing object file names defined as library members. This is currently not fully supported by SDE; SDE provides no separate template for this but uses the ordinary library makefile template for this purpose.

-F-template
Specify an alternative makefile template path name. The path name can be relative or absolute.

-M-language
Specify an alternative language-specific makefile template. If this option is used, the default language is C and the corresponding program and library makefile templates are C.p, and C.l or C.L, respectively. mkmf then looks for these templates in /usr/softbench/lib/buildt or $PROJECT/lib/mkmf.

-S Symbolically link source code files found in directories listed in the VPATH macro into the current directory. Additionally, if the -S option is repeated, remove any symbolic links to files in directories not listed in the VPATH macro. This option is retained for backward compatibility, but the use of it in an SDE environment has not been investigated.

-u Avoid updating the HDRS and SRCS macros unless they are specified as command-line arguments. This option makes SDE's mkmf rather useless but is retained for backward compatibility.

DIAGNOSTICS

The exit status code of mkmf is a masked set of bits.

Exit status 0 is normal (successful completion).

Exit status with mask bit 1 set indicates an error (creating/modifying the makefile failed).

Exit status with mask bit 2 set indicates that some included files could not be found in some C, C++, Fortran, or Pascal source file (the rest of the makefile is complete).

Exit status with mask bit 4 set indicates that "COPY file" analysis could not be accomplished on a COBOL source file (the rest of the makefile is complete).

Exit status with mask bit 8 set indicates that COBOL SoftBench post-processing of the makefile failed to update the special macros defined for the use with SoftBench (the rest of the makefile is complete).

WARNINGS

The name of the makefile is included as a macro definition within the makefile and must be changed if the makefile is renamed.

The name of a program or library must not conflict with any predefined target names in a makefile.

SDE's mkmf does not generate any dependencies but expects make to do this.

AUTHOR

mkmf was developed by Version Technology.
Modifications for SDE have been done by ISY/LKM.

DEPENDENCIES

Custom makefile template files are shipped with SDE, in the directory $SDE_HOME/buildt. If you use SoftBench Program Builder with SDE's default X resources, it will by default use SDE's makefile templates. If you run mkmf from a terminal window (shell) and do not use the -F or -M option, SDE's makefile templates will also be used.

FILES

/usr/softbench/lib/mkmf
The 'mkmf' program used by SDE's mkmf.

$SDE_HOME/buildt
Default directory where SDE's template files are located.

$SDE_HOME/buildt/*.p, $SDE_HOME/buildt/*.l
Makefile templates. Filename without suffix indicates programming language.

$SDE_HOME/buildt/rules.*.mkf, $SDE_HOME/buildt/oracle.mkf
Make rule files, to be copied to systems and included in makefiles.

/usr/softbench/lib/buildt
Default directory where SoftBench template files are located.

$PROJECT/lib/mkmf
Alternate directory where user-defined templates are expected.

/usr/softbench/lib/buildt/C.p
Standard SoftBench program template

/usr/softbench/lib/buildt/C.l
Standard SoftBench library template

/usr/softbench/lib/buildt/COBOL.p
Standard SoftBench COBOL program template

/usr/softbench/lib/buildt/COBOL.l
Standard SoftBench COBOL library template

$PROJECT/lib/mkmf/C.p
User-defined program template

$PROJECT/lib/mkmf/C.l
User-defined library template

SEE ALSO

ar(1), ctags(1), ld(1), make(1), softbuild(1).

"Make - A Program for Maintaining Computer Programs", Software-Practice and Experience, Feldman, S.I., vol. 9, no. 4, pp. 255-265, April 1979.

"Automatic Generation of Make Dependencies", Software-Practice and Experience, Walden, K., vol. 14, no. 6, pp. 575-585, June 1984.

NAME

mktree - create a directory tree

SYNOPSIS

mktree [-i] [-o owner] [-g group] [-c chmode] [-n] tree_root [PDS]

DESCRIPTION

The mktree command creates a directory tree with the root tree_root. The command asks for directories to create under tree_root. If the root tree_root does not already exist, it is created if at least one subdirectory is included in the tree.

If the optional parameter PDS is given, a Product Directory Structure is first created under the tree_root directory. The command then asks for additional directories to create.

A Product Directory Structure (PDS) includes the following directories:

bin, etc, doc, forms, help, info (mandatory), lib and include

The default values of PDS may be changed in two ways: You may create a file $SDE_HOME/config/PDS which lists the directories, or you may point to any file containing definitions by the PDS environment variable.

OPTIONS

-i[nquire]
requires a confirmation of each PDS directory to be created.

-n[oadd]
does not ask for additional directories to be created.

-o owner
Defines owner of the directories.

-g group
Defines group for the directories.

-c chmod
Defines access to the files. chmod may be any parameter of the chmod command.

SEE ALSO

mkdir(1), chmod(1), chwon(1), chgrp(1)

AUTHOR

Ivica Crnkovic

NAME

project addmember - add a new member to a project

SYNOPSIS

project addmember [-f] [-w] [project ] [userid ] [user_name] [user_working_directory]

DESCRIPTION


The project addmember command adds a new member to a project. To add a new member to a project means:

Create a user's working directory in the project under members directory.
The working directory has userid name. If another directory is defined as a user directory, than create a link from member directory to the working directory.

Create a startup file in the working directory. The user may modify this
file. The startup file may include some definitions (aliases and environment variables which the user can use when working in the project. This file is executed when the user sets up the project.

PARAMETERS

project Name of the project where the new member will be defined.

userid User identity of new member.

user_name User full name. The default value is taken from /etc/passwd file.

user_working_directory
The user's working directory in the project. The default value is the directory named userid and placed under the members directory.

OPTIONS

-f Execute the command directly.

-w Create a common work directory instead of a private member's directory. The directory created is treated as a member, which means that the commands project set -u dir, or project delmemer may be used in the same way as for any project member.

EXAMPLES

$ project addmember
Project name : ex_proj
Member id : jhellstr
Member name [First name and last name] (default=Jan Hellstrand,AUT/KMS,9241) :
Member work directory (default= /aut/km/ex_proj/members/jhellstr) :

Project name : ex_proj
Member id : jhellstr
New member : Jan Hellstrand,AUT/KMS,9241
Member work directory : /aut/km/ex_proj/members/jhellstr Are data correct[y/n/q] (default=y) : y

DIRECTORIES

/ipa/projects/project/members

SEE ALSO

p_create(1), p_delmember(1)

EXTERNAL INFLUENCES

Environment variable SDE_PROJECT defines the default project name.

AUTHOR

Ivica Crnkovic

NAME

project addsystem - add a new system to a project

SYNOPSIS

project addsystem [ -f ] [ project ] [ system ] [ link ]

DESCRIPTION

The project addsystem command adds a new system or a part of a system to a project. To add a new system to a project means to create a symbolic link from the project's systems directory to a system or to a system part.

PARAMETERS

project
The project name to which the system will be added.

system
The name of the system or a path of a system part to be added to the project. link The name of the link which will be placed under the systems directory. The default value for the link is the system name, or last name of the system path.

OPTIONS

-f
Executes the command directly without prompting for parameters.

EXAMPLES

$ project addsystem
Project : ex_proj
System : ex_system
Name of the link in the project pointing to the ex_system (default=ex_system):
Link /aut/km/ex_proj/systems/ex_system -> /ipa/systems/ex_system is created

project addsystem ex_proj sys1/1.0-0 sys1
Link /aut/km/ex_proj/systems/sys1 -> /ipa/systems/sys1/1.0-0 is created

DIRECTORIES

/ipa/projects/project/systems

SEE ALSO

p_create(1), s_create(1)

AUTHOR

Ivica Crnkovic

NAME

project addwd - add working directories for a project member

SYNOPSIS

project addwd [ -f ] [ -a ] [ -u userid ] [ -l dir ] [ project ] [ system_path ] [ wd_name ]

DESCRIPTION

The project addwd command creates working directories for a project member. A working directory may be created for under the systems directory. If -a option is specified, then the complete tree structure which corresponds to the selected system structure, is created. For all RCS libraries, RCS links from working directories are created. Any symbolic link present in the system is also copied.

PARAMETERS

project
The project name.

system_path
The system name or a subsystem path of the system added to the project.

wd_name
The working directory name. By default the name of the system path is taken.

OPTIONS

-f
Executes the command without asking about the parameters.

-a Creates the complete directory three structure which corresponds to the directory structure of the selected system.

-u[ser] userid
Creates the working directory structure for the user specified by userid.

-l dir
Instead of creation of a working directory directly under the
members directory, a new directory dir is specified, and a link named wd_name is created under the members directory. The link points to the working directory.

EXAMPLES

$ project addwd -f ex_proj ex_system/1.0-0/sub1 sub1

DIRECTORIES

/ipa/projects/project/members/userid /ipa/projects/project/systems

SEE ALSO

p_create(1) p_addsystem(1)

AUTHOR

Ivica Crnkovic

NAME

project chmanager - change the manager of a project

SYNOPSIS

project chmanager project_name new_userid [ new_groupid ]

DESCRIPTION

The command project chmanager changes the manager of project_name to new_userid. The ownership of the files and directories in the project structure (except for the members' structures) is changed, and the overview file is updated with information from the passwd file entry for the new manager.
If a new groupid is specified, that groupid is also used in the ownership change. If no groupid is specified, the login group of the specified userid is used.

DIRECTORIES

/ipa/projects

EXAMPLES

project chmanager projectA joejohns

changes projectA to be managed by joejohns in his login group.

project chmanager BaseProject annec basep

changes BaseProject to be managed by annec in group basep.

DIAGNOSTICS

Only the user who is listed as project manager in the overview file is allowed to change project manager. For other users, project chmanager will exit with an error message.

WARNINGS

If the user who is listed as project manager in the overview file does not have permissions to change the ownership of all files in the project, the ownership will be changed only for those files he/she does have permission for. For other files, error messages will be issued. If this happens, ask the user who owns the file(s) to transfer the ownership manually using chown.

SEE ALSO

project(1), rentree(1), chown(1), chgrp(1)

AUTHOR

Mats Medin

NAME

project create - create a new project

SYNOPSIS

project create [-f] [project] ["project description"] [project_manager_userid] ["project_manager_name"] [project_directory]

DESCRIPTION

The project create command creates a new project named project. To create a new project means the following:

* Create a directory named project.

* Create the directories: members, tools, systems, doc and info in this directory.

* Define the project manager as a member of the project.

* Create the file startup in the tools directory. The project manager can modify this file and use it to include in it some definitions which can be used by project members. This file is executed when the project is setup.

* Create the file overview in the info directory and add the following information:

project.name:
project.description:
project.manager.name:
project.manager.userid:

* Add a link in the directory /ipa/projects named project to point to the newly created project directory. Note that /ipa/projects is the default dircetory where all projects are specified. The environment variable SDE_PROJECTS overrides the default value.

PARAMETERS

project
Project name

project description
One line project description

project_manager_userid
Userid of the project manager. The manager can add and remove project members, add and remove systems, terminate and delete the project.

project_manager_name
Project manager full name. The default value is taken from the /etc/passwd file.

project_directory
The home directory of the project. The default value is the project name placed in the root directory of the projects defined by the SDE_PROJECTS environment variable.

OPTIONS

-f
Executes the command directly without prompting for parameters.

EXAMPLES

$ project create
Project name : ex_proj
Project description : "This is an example of a project"
Project manager userid (default=icrnkovi) :
Project manager [First name and last name] (default=Ivica Crnkovic,AUT/KMS,9801) :
Project directory (default=/ipa/projects/ex_proj) : /aut/km/ex_proj

Project name : ex_proj
Description : This is an example of a project
Project manager id : icrnkovi
Project manager : Ivica Crnkovic,AUT/KMS,9801
Project directory : /aut/km/ex_proj

Are data correct[y/n/q] (default=y) : y

Directory /aut/km/ex_proj created
Directory /aut/km/ex_proj/info is created
Directory /aut/km/ex_proj/members is created
Directory /aut/km/ex_proj/doc is created
Directory /aut/km/ex_proj/tools is created
Directory /aut/km/ex_proj/systems is created

File /aut/km/ex_proj/tools/startup is created
File /aut/km/ex_proj/info/overview is created
Link /ipa/projects/ex_proj -> /aut/km/ex_proj is created

Member work directory /aut/km/ex_proj/members/icrnkovi is created
File /aut/km/ex_proj/members/icrnkovi/startup is created

Project create ex_proj completed

FILES

/ipa/projects/project/info/overview
/ipa/projects/project/tools/startup

DIRECTORIES

/ipa/projects/project
/ipa/projects/project/info
/ipa/projects/project/doc
/ipa/projects/project/tools
/ipa/projects/project/systems
/ipa/projects/project/members
/ipa/projects/project/members/project_manager_userid

EXTERNAL INFLUENCES

SDE_PROJECTS defines the directory where the projects are placed. The default value is /ipa/projects.

SEE ALSO

X(1), p_delete(1), p_addmember(1)

AUTHOR

Ivica Crnkovic

NAME

project delete - remove a project

SYNOPSIS

project delete [ -i ] [ -d path ] [ -f ] [ project ]

DESCRIPTION

The project delete command deletes the project directory structure. Only the project manager or a root user can remove the project.

PARAMETERS

project
The name of the project to be deleted.

OPTIONS

-i[nquire]
requires a confirmation of each file and directory removing.

-d[irectory] path
defines the project by its directory instead of by its name.

-f Executes the command directly without prompting for parameters.

EXAMPLES

$ project delete
Project name : ex_proj
Do you really want to delete the project ex_proj (y/n) : y

Removing link from /ipa/projects...
Removing project files from /aut/km/ex_proj...

Project ex_proj deleted

SEE ALSO

p_create(1)

AUTHOR

Ivica Crnkovic

NAME

project delmember - remove a user from a project

SYNOPSIS

project delmember [ -i ] [ -d path ] [ -f ] [ project ] [ userid ]

DESCRIPTION

The project delmember command removes a user from the project by deleting the user's working directory.

PARAMETERS

project
Project name

userid
Userid of the project member to be removed from the project.

OPTIONS

-i[nquire]
requires a confirmation of each file and directory removing.

-d[irectory] path
defines the project by its directory instead of by its name.

-f executes the command directly without prompting for parameters.

EXAMPLES

$ project delmember
Project name : ex_proj
Member id : mmedin

Removing member mmedin...

Member mmedin is removed from the project ex_proj

SEE ALSO

p_addmember(1)

AUTHOR

Ivica Crnkovic

NAME

project delsystem - remove a system from a project

SYNOPSIS

project delsystem [-f] [project] [system]

DESCRIPTION

The project delsystem command removes a system from a project. It removes a link pointing to the system from systems directory. Only the project manager can remove a system.

PARAMETERS

project
Project name

system
A system or a subsystem to be removed from the project.

OPTIONS

-f
Does not prompt for parameters, but executes the command directly.

EXAMPLES

$ project delsystem
Project name : ex_proj
System name : ex_system

System ex_system is removed from the project

SEE ALSO

p_addsystem(1)

AUTHOR

Ivica Crnkovic

NAME

project info - provide information about projects

SYNOPSIS

project info [ -f ] [ [ -m ] [ -u userid ] [ project ... ]

DESCRIPTION

The project info command gives information about projects. If no project is specified, the current one, if one has been set, is assumed. Wild card specification preceded by backslash (\*) is allowed.

PARAMETERS

project
Project name

OPTIONS

-f
gives a full listing of the project.

-m[e] lists all projects in which the user logged in is involved.

-u[ser] userid
lists all projects in which a user's userid is involved.

EXAMPLES

$ project info -f ex_proj
Project : ex_proj
Directory: /aut/km/ex_proj

Project members:

icrnkovi Ivica Crnkovic,AUT/KMS,9801
jhellstr Jan Hellstrand,AUT/KMS,9241
mmedin Mats Medin,AUT/KMS,9756,021-330054

Systems:
ex_system -> /aut/km/ex_system

Overview file:
project.name: ex_proj
project.description: This is an example of a project
project.date.creation: 1991-02-19 07:28:51 (Tue)
project.manager.name: Ivica Crnkovic,AUT/KMS,9801
project.manager.userid: icrnkovi

FILES

/ipa/projects/project/info/overview

DIRECTORIES

/ipa/projects/project/members
/ipa/projects/project/systems

SEE ALSO

p_create(1)

EXTERNAL INFLUENCES

Environment variable SDE_PROJECT defines the default project name.

AUTHOR

Ivica Crnkovic

NAME

project lnadd - create symbolic links in a project work structure to the files placed in the system configuration attached to the project.

SYNOPSIS

project lnadd [options] [work_dir]

DESCRIPTION

The command creates symbolic links in the work_dir to the files placed in the directory, in which the RCS directory pointed to by the link "RCS" in the work_dir resides. The command is used to get links from a members work structure to the files in a system configuration.

PARAMETERS

work_dir
Specifies the directory in which should the links be created. By default, the current directory is taken.

OPTIONS

-i
Ask for each file in the file_dir if the link should be created.

-r If a file in the file_dir is actually a symbolic link, do not point to it, but to the real file.

-o Write over the files (not directories) present in the ln_dir. By default the files (not directories) are overwritten if they are older than files in the file_dir.

-k If a file is already present in the ln_dir, keep it.

-t Create links for the complete directory tree, starting from work_dir.

-v Show links that are created.

EXAMPLES

$ project lnadd -t

creates links in the current directory-tree pointing to the files placed in the directories where RCS libraries are placed.

SEE ALSO

lnadd(1)

AUTHOR

Ivica Crnkovic, Mats Medin

NAME

project rename - rename a project

SYNOPSIS

project rename [project_name] [new_project_name]

DESCRIPTION

The command project rename renames a project from project_name to new_project name. The link pointing to the project in /ipa/projects is also changed.
Note, that eventual other links containing the project_name are not changed. These must be changed manually.

EXAMPLES

project rename projectA projectB

renames projectA to projectB

SEE ALSO

project(1), rentree(1)

AUTHOR

Elisabet de Waal

NAME

project set - set a project as current project

SYNOPSIS

project set [-w project_path] [-f] [-t] [-v] [-s] [-n] [-a] [-r] [-u userid] [-N node] [-S] [-x command] [project] [subdir]

DESCRIPTION

The project set command sets an environment for the specified project, which means:

* Execute the startup file stored in the project's /tools directory.

* Set working directory to the user's working directory, as defined by the project addmember command.

* If subdir is specified and it does not exist in the user's directory, it is created. If the subdirectory is named according to a system added to the project, an RCS link to the system library is created. If -a option is specified then the directory structure which correspond to the selected system structure is created. For each RCS library in the system, a link named RCS to it is created.

* Execute the startup file stored in the member's working directory.

* Define the following environment variables:

SDE_PROJECT=project SDE_PROJECT_DIR=project_directory SDE_PROJECT_WD=working_directory

SDE_SYSTEM=system SDE_SYSTEM_DIR=system_directory SDE_SYSCONF=system_configuration

SDE_CONFROOT=ystem_configuration_current_root_in_the_project

* Optionally create a new terminal window (-t option). Set the following prompt for the shell: node:project$

* Optionally invokes SDE Control Panel which makes is possible to select a tool encapsulated in Softbench (-s option). When SDE control Panel is invoked, then the file.B ~/.softenv is created. This file includes all current environment variables and SDE_PROJECT* and SDE_SYSTEM* variables specified above.

* Optionally create a VUE File Manager window (-v option).

PARAMETERS

project
A project to be setup.

subdir
A subdirectory in the working directory of the user. Usually it is a subdirectory where a user works with a system. If the subdirectory has the name of a system added to the project, then an RCS link is created to the system library. If -r option is defined then the subdirectory in the project root is set up.

OPTIONS

-w[ork_directory] project_path
Defines a project by path instead of its name.

-r[eference]
Sets the project root directory as curent directory.

-u[ser] userid
Sets the working directory of the user specified by userid.

-f Executes the command without asking about the parameters.

-t[erminal]
Creates a new terminal window.

-v[ue]
Creates a new VUE file manager window.

-s[oftbench]
Invokes SDE control Panel window. Creates the ~/.softenv file that includes currently defined environment variables.

-S Creates only the ~/.softenv file that is used by Softbench applications. If the same .softenv is already created (i.e. it has the same SDE_CONFROOT variable) the new .softenv file is not created.

-n[o_window]
Creates a new process in the same terminal window from which the command is invoked. If options -v -t -s are not specified this option is the default one.

-x command
Sets up the project and execute the specified command as a sub-process. If a new terminal window was required (-t option), then the command is executed in the created terminal.

-a Creates a working directory structure which corresponds to the system structure pointed from the project.

-N Node
Creates a terminal window on a remote node Node.

EXAMPLES

$ project set ex_proj
System (or subdirectory in the project user dir) :

Welcome to the ex_proj project
ws100:ex_proj$

FILES

~/.softenv /ipa/projects/project/tools/startup /ipa/projects/project/members/userid/startup

DIRECTORIES

/ipa/projects/project/members/userid /ipa/projects/project/systems

SEE ALSO

p_create(1) p_addsystem(1) p_addwd(1)

AUTHOR

Ivica Crnkovic

NAME

project terminate - terminate a project

SYNOPSIS

project terminate [-c] [-d path] [project]

DESCRIPTION

The project terminate command terminates a project by removing the write access to the project. It also write the status terminate in the project overview file.

PARAMETERS

project
Name of the project

OPTIONS

-c[ancel]
cancels a project termination. Sets write access for the owner and for the group. Removes the status terminate from the overview file.

-d[irectory] path
defines the project by its directory instead of by its name.

EXAMPLES

$ project terminate
Project name : ex_proj
Changing protections in the ex_proj project...

Project ex_proj is terminated

SEE ALSO

chmod(1)

AUTHOR

Ivica Crnkovic

NAME

patinstall - install patch to a product release.

SYNOPSIS

patinstall [-i] patch_path patch_name

DESCRIPTION

The directories placed in the patch_pat/patch directory are supposed to be patches belonging to the product version (not necessarily installed into the product).

Each patch_name directory contains the following files:

Patch files to be copied to the product structure (bin, lib or other subdirectories).

patch_name.pd
file describing where should the patch files be copied. The patch_name.pd file follows pd file syntax used for the pcopy command.

Example: file $PRODUCT_ROOT/subdir ; chmod 555 $FILE

This line specifies a file to be copied, where it should be copied and which access the file should have.

patch_name_customize
An optional korn-shell script which is executed after the patch files are copied to the product. Usually this
file need not to be created. Only if some additional actions must be done during the install process, this script can be used.

patch_name_decustomize
An optional korn-shell script which is executed after the patch is removed from the product version. Only if some additional actions are required, this script must be created.

README
This is an optional text file that shortly describes the functional changes the patch contains.

The patinstall command copies patch files from a patch patch_name to the product release. Original files from the product release are saved in the Ipatch_path/Ppatch/patch_name/orig directory. Files can also be placed in subdirectories to the directory patch_name. Original files from the product release are saved in the Ipatch_path/Ppatch/patch_name/subdir/orig directory. An uninstall script for removing patch files and copying back original files is created too.

PARAMETERS

patch_path
A path where the patch is placed. Normally it is a product_release directory where the patch/patch_name directory is placed.

patch_name
The patch name placed in the product_release/patch directory. By default the patinstall command installs all patches if they are not already installed.

OPTIONS

-i Ask for a confirmation for each patch installation.

SEE ALSO

patuninstall(1), patls(1)

AUTHOR

Ivica Crnkovic.

NAME

patls - list patches present in a product release.

SYNOPSIS

patls patch_path

DESCRIPTION

The command list patches available for a product release. For installed patches it shows the date of installation. For more information see man patinstall.

PARAMETERS

patch_path
A path where the patches is placed. Normally it is a product_release directory where the patch/patch_name directory is placed.

EXAMPLE

patls /ipa/products/ic/1.0-0
patch_name1 installed Sun Mar 14 12:03:13 MET 1993
patch_name2
patch_name3 installed Sun Mar 14 12:03:20 MET 1993

SEE ALSO

patinstall(1), patuninstall(1)

AUTHOR

Ivica Crnkovic.

NAME

patuninstall - uninstall patch to a product release.

SYNOPSIS

patuninstall patch_path patch_name

DESCRIPTION

Remove patch files from the product version. Move back original files to the product release. For more information see man patinstall.

PARAMETERS

patch_path
A path wheer the original patch is placed. Normally it is a product_release directory where the patch/patch_name directory is placed.

patch_name
The patch name placed in the product_release/patch directory.

SEE ALSO

patinstall(1), patls(1)

AUTHOR

Ivica Crnkovic.

NAME

pcopy - copy files to a product structure

SYNOPSIS

pcopy [-t] [-i] [-v] [-V] [-l] [-f] [-p | -pd] [-d dir] [-c] [-g file mask] [-RCS] [-o | any cpp option ] [ -m file ... | pd_file destination]

DESCRIPTION

The pcopy program copies components from a system structure or from a user working directories to a product structure.

The program reads file named Product Description File (PD file) from the current directory. This file lists which components should be copied to a product structure.

A PD file may be specified as a command parameter, or as an environment variable.

The root destination directory is specified by the environment variable PRODUCT_ROOT. The program goes trough the PD file and reads which components should be copied. By default all the components are taken. Using options -m it is possible to select files to be copied. The option -g selects files according to the specified mask. A specific file or directory (subsystem) or specific filetype may be specified.

The components taken from the PD files are searched for in the source directories.
If the same components already exist in the destination directory, then only the components that are newer then those in the destination directory are taken. Optionally, no date is tested.

The format of the PD file is as follows:

/* comment */
src dest; commands ! file description

PD files are processed by cpp preprocessor which means that it is possible to use statements like

#include "file"
#define name definition

or conditional statements. All the cpp options (but -P) may be defined.
For more information see cpp(1).
The item src denotes a file specification of the component(s) to be copied. Any legal filename specification can be used (including characters *,%,[]). It is also possible to define several files. Usually, only a filename should be specified, which denotes that the file(s) should be placed in the current directory or in the belonging RCS library. If the file is not placed in the current directory, that a complete or relative path may be specified. Normally, a path relative to the directory where the PD file is placed should be specified.

The item dest denotes the directory where the files should be copied. The first part of the directory (root) should be specified by the environment variable PRODUCT_ROOT. This variable denotes the root of a product version.

After the first semicolon, commands that are applied on each component after its copying, may be specified. In these commands the environment variable FILE denotes the component that has been copied. The full path name is defined for file. So, if for example, only the filename is going to be used then the command basename $FILE should be used. Several commands may be written. In that case the commands must be separated by semicolons.

Note that both src and dest parts may contain enay environemnt variable that must be defined when the pcopy command is being executing.

The last part of the line begins with the "!" character which is followed by a file description. File names and their descriptions may be listed when the -p option is used.

PARAMETERS

Note:
It is not possible to define the parameters specified below if the -m file file ... option is used.

pdfile
It specifies the PD file name. If the parameter is not specified, then the environment variable SDE_PD is taken. If neither SDE_PD exists, nor parameter is specified, then the command prompts for the parameter.

destination
It defines the destination root specified as the environment variable PRODUCT_ROOT in the PD file. If the parameter is not specified, then the environment variable PRODUCT_ROOT must be defined.

OPTIONS

-c
The destination directories will be created if they not already exist.

-m file file ...
Process specified files. The files must be present in the directory and specified in the PD file.

-g string_expression

The option defines a selection mask for files. Any expression used by grep command may be specified.

-i The copy of each component will be asked for a confirmation.

-v The log messages about the components copied will be displayed.

-V Write log message only for files being copied

-f Force the copy. By default only the files that are newer than destination files, are copied.

-l Instead of copying, the selected components will be only listed.

-p The command will print the file names and their descriptions specified in the PD file. The output may be used for the product release documentation.

-pd The command prints source directory, source file, destination directory and finally the file description in each line. This format is suitable for further processing by other Unix commands.

-t All subdirectories starting from the current directory will be searched for the PD files with the specified name. The old option -s has the same function as -t. option. Note: If you are using #include cpp instruction, avoid to us -t option, because you may get inpredictable results (for example, if an include file is placed in a subdirectory, it will be processed twice).

-d dir

By default the components are taken from directories specified relative to the directory where the PD file is placed. This option defines the current directory as dir. This option cannot be used in combination with -t option.

-RCS Look for files also in RCS directories.

-o Old format. Do not process cpp preprocessor and assume that the # character defines a start of comment.

EXAMPLES

A PD file example:

#include "sde_doc.pd"
*.h $PRODUCT_ROOT/include; chmod 444 $FILE;
pause $PRODUCT_ROOT/bin; chmod 755 $FILE ! lock the keyboard
product_* $PRODUCT_ROOT/lib; chmod 755 $FILE ! product commands

Command examples:


pcopy prod.pd /ipa/products/prod/1.2-0
export PRODUCT_ROOT=/ipa/products/prod/1.2-0
export SDE_PD=prod.pd
pcopy -m file1 file2 # copy files file1 and file2
pcopy -g .1 # copy *.1* files

EXTERNAL INFLUENCES

The environment variable PRODUCT_ROOT defines the destination root directory. The environment variable SDE_PD defines the PD file name.

WARNINGS

Using wildcard "*" in a combination with "/" character will cause unpredictable behaviour because these characters together are recognized by the cpp pre-processor. For example, the specification man/*1 will denote the beginning of a comment.

The cpp pre-processor includes a certain number of pre-defined symbol names. If you have a text that correspond to a predefined symbol, it will be replaced by the cpp definition. For example, the text file.hpux.txt will be changed to file.1.txt, because the hpux symbol is defined to 1. To avoid this substitution, you may use -U option. You may see in man cpp which symbols are predefined.

Files specified in a PD file must not contain the semicolon character (;).

SEE ALSO

mktree(1) lntree(1) lnmerge(1)

AUTHOR

Ivica Crnkovic

NAME

pdcheck - check Product Definition file(s)

SYNOPSIS

pdcheck [-t] [pd_file [product_root]]

DESCRIPTION


The command pdcheck tests if the contents of the PD file and the product directory correspond. With qualifier -t, the command tests all PD files in subdirectories to pd_file. pdcheck lists file names in the PD file(s) that have no corresponding file in the product directory. It also lists the files in the product directory that are not defined or have several definitions in the PD file(s).
Internally, pcopy is used to extract the contents of the PD file(s) without actually copying any files.

PARAMETERS

pd_file
Product Definition file. If not specified, and the environment variable SDE_PD is undefined, the command prompts for the parameter.

product_root
Product root directory. If not specified, the environment variable PRODUCT_ROOT must be defined.

OPTIONS

-t
Search subdirectories to pdfile, to find all PD files. Option used with command pcopy.

EXTERNAL INFLUENCES

The environment variable SDE_PD defines the PD file name. The environment variable PRODUCT_ROOT defines the destination root directory.

EXAMPLES

pdcheck /aut/km/ex_system/2.2-0/ex_prod.pd /ipa/products/ex_prod/2.2-0

Note. In this example, the PD file specified as parameter 1 consists of include directives, so option -t should not be used.

SEE ALSO

pcopy(1)

AUTHOR

E Antonsson

NAME

pmrcre - Create pmr from file

SYNOPSIS

pmrcre [-u user/password] [-g pmr_file] [file]

DESCRIPTION


pmrcre logs on to ORACLE as user/password and creates a PMR with
information from file.

PARAMETERS

file
File with data for the PMR.

OPTIONS

-u user/password
userid and password for the PMR database. If no user/password is given the command asks for values.

-g pmr_file
Generata a template file. This file can be modified and then a pmr can be created with the information from the file.

EXAMPLES

Create a pmr with information from the file pmr_form.lis.

pmrcre -u scott/tiger pmr_form.lis

Generate a template file that can be edited with information for a new pmr.

pmrcre -g my_pmr.lis

EXTERNAL INFLUENCES

The environment variable TWO_TASK defines the database to log on to. If it is not defined the default value is t:sepagis1:MR.

SEE ALSO

pmrimpcr(1) pmrrel(1) pmrtocr(1) pmrlist(1)

AUTHOR

Lars-Erik Strom

NAME

pmrimpcr - Import information from CR in SDE to PMR

SYNOPSIS

pmrimpcr [-u user/password] [-p pmr] cr

DESCRIPTION


pmrimpcr copies information from given CR in SDE to corresponding PMR in the PMR database. If a change request document exists in pmr for the cr, you only have to enter the name of the cr. If no change request document exist and there exists more than one change action for the pmr you must enter the action number. Use the -a act_no option.

PARAMETERS

cr
Name of the CR in SDE to be copied to PMR.

OPTIONS

-u user/password
userid and password for the PMR database. If no user/password is given the command asks for values.

-p pmr
Name of the pmr for which a Change Request document shall be created.

-a action number
Action number for which a Change Request document shall be created.

EXAMPLES

Update a Change Request document in PMR for cr PMR-SE-95-000050_01:

pmrimpcr -u scott/tiger PMR-SE-95-000050_01

Create a Change Request document in pmr PMR-SE-95-000093 for cr CR-ptool

pmrimpcr -u scott/tiger -p PMR-SE-95-000093 CR-ptool

EXTERNAL INFLUENCES

The environment variable TWO_TASK defines the database to log on to. If it is not defined the default value is t:sepagis1:MR (the PMR database).

SEE ALSO

pmrcre(1) pmrrel(1) pmrtocr(1) pmrlist(1)

AUTHOR

Lars-Erik Strom

NAME

pmrlist - List information about PMR actions and change request documents for user.

SYNOPSIS

pmrlist [-u user/password] [-n] [-f] [-a]

DESCRIPTION


pmrlist lists all Change Request documents for CHANGE actions that are not closed and the user identified by user/password. For each found document the following information is listed. PMR name, action id, document id and title. If the -n option is entered, then all new actions for user/password are displayed. PMR name, action id and title is displayed.

OPTIONS

-u user/password
Database userid and password. If no user is given the command will ask for user and password.

-n Display all NEW ACTIONS for user/passwd.

-f Also display CR name, system and system configuration where the CR is located.

-a Display all not closed CHANGE ACTIONS for user/passwd.

EXAMPLES

Dislplay all new actions for scott:

pmrlist -u scott/tiger -n

Display all not closed change actions and change request documents for scott:

pmrlist -u scott/tiger

EXTERNAL INFLUENCES

The environment variable TWO_TASK defines the database to log on to. If it is not defined the default value is t:sepagis1:MR (the PMR database).

SEE ALSO

pmrcre(1) pmrrel(1) pmrimpcr(1) pmrtocr(1)

AUTHOR

Lars-Erik Strom

NAME

pmrrel - Create Release Activity in PMR

SYNOPSIS

pmrrel [-u user/password] [-p product] [-v version] CR-Name

DESCRIPTION


pmrrel creates a Release Action for the PMR that corresponds to given CR in SDE. If the Release Action exists pmrrel only sets the status to Closed. If action exists and status is Closed nothing is done. You can have more than one release action for a PMR if product and/or version are different.

PARAMETERS

CR-Name

Name of the CR in SDE for which a Release Action shall be created in PMR.

OPTIONS

-u user/password
Database userid and password. If no user is given the command will ask for user and password.

-p product
The product for which the problem has been corrected.

-v version
The version of the product in which the problem has been corrected.

-t patch
The patch for the version of the product in which the problem has been corrected.

EXAMPLES

Create a Release Action in PMR for cr PMR-SE-95-000050_01:

pmrrel -u scott/tiger -p SDE -v 3.0-3 PMR-SE-95-000050_01

EXTERNAL INFLUENCES

The environment variable TWO_TASK defines the database to log on to. If it is not defined the default value is t:sepagis1:MR.

SEE ALSO

pmrcre(1) pmrimpcr(1) pmrtocr(1) pmrlist(1)

AUTHOR

Lars-Erik Strom

NAME

pmrtocr - Create a CR in SDE with information from the PMR database.

SYNOPSIS

pmrtocr [-u user/password] [-a action] [-d cr_doc] [pmr]

DESCRIPTION


pmrtocr creates a CR in SDE with information from given PMR. If the Change Request document in PMR is missing it will also be created. A CHANGE action must exists for the user who executes the pmrtocr command. If more than one CHANGE actions exists for the PMR use the -a option to specify which action shall be used. If there exists one or more Change Request documents, use the -d option to specify which document shall be used. If the -d option is set to 0 a new Change Request document will be created. The command pmrlist can be used to display CHANGE actions and Change Request documents for your PMRs.

PARAMETERS

pmr

Name of the PMR that CR shall be created for.

OPTIONS

-u user/password
Database userid and password. If no user is given the command will ask for user and password.

-a action
Action number for a CHANGE action.

-d cr_doc
Document number for the Change Request that shall be used to create a CR in SDE.

EXAMPLES

Create a CR in SDE for pmr PMR-SE-95-000050:

pmrrel -u scott/tiger PMR-SE-95-000050

EXTERNAL INFLUENCES

The environment variable TWO_TASK defines the database to log on to. If it is not defined the default value is t:sepagis1:MR (the PMR database).

SEE ALSO

pmrcre(1) pmrrel(1) pmrimpcr(1) pmrlist(1)

AUTHOR

Lars-Erik Strom

NAME

product create - create a new product

SYNOPSIS

product create [-f] [product] ["product description"] [product_release] ["responsible company"] [product_directory]

DESCRIPTION

The product create command creates a new product named product. To create a new product means the following:

Create a directory named product. The directoy is created
in the root directory for products. The root directory is defined by the SDE_PRODUCTS environment variable. The default value for the root directory is /ipa/products directory.

Create the product subdirectory named release.

In the release directory create Product Directory Set (PDS)
which includes the following directories:
bin, etc, doc, forms, help, include, lib and info.

You may have your own default directory set, which the command will create. A default directory set may be defined in a file which must be pointed to by the environment variable PDS. If the PDS environment variable is not defined then the program looks for $SDE_HOME/config/PDS file. If this file is present then the directories specified in this file will be created.

Note that the info directory is allways created.

Create the file overview in the info directory and add the following
information:
product.name:
product.description:
product.responsible:
product.date.cretion:
product.release:
product.offspring:

The format follows the X resource managers database format.

If the product directory is not placed in the products' root directory
(default /ipa/products) directory then create a link named product to point to the newly created product directory.

PARAMETERS

product
product name

product_description
One line product description

product_release
The first release name (by default 1.0-0).

responsible_department
Company/department responsible for the product

product_directory
The home directory of the product. The default value is the product name placed in the /ipa/products_directory.

NOTE: You must have the write access to create the product structure and the link in /ipa directory.

OPTIONS

-f
Executes the command directly without prompting for parameters.

EXAMPLES

product create
product name : ex_prod
product description : Product example
product release (default=1.0-0) :
Product responsible company/dept : SEAUT/KMT
product directory (default=/ipa/products/ex_prod) :

product name : ex_prod
Description : Product example
Configuration : 1.0-0
Responsible company : SEAUT/KMT
product directory : /ipa/products/ex_prod

Are data correct[y/n/q] (default=y) :

Directory /ipa/products/ex_prod/1.0-0/info is created
Directory /ipa/products/ex_prod/1.0-0/bin is created
Directory /ipa/products/ex_prod/1.0-0/etc is created
Directory /ipa/products/ex_prod/1.0-0/doc is created
Directory /ipa/products/ex_prod/1.0-0/forms is created
Directory /ipa/products/ex_prod/1.0-0/help is created
Directory /ipa/products/ex_prod/1.0-0/lib is created
Directory /ipa/products/ex_prod/1.0-0/include is created
File /ipa/products/ex_prod/1.0-0/info/overview is created
Link /ipa/ex_prod pointing to the /ipa/products/ex_prod/1.0-0 is created

product create ex_prod completed

FILES

/ipa/products/product/info/overview
$SDE_HOME/config/PDS

DIRECTORIES

/ipa/products/product
/ipa/products/product/info
/ipa/products/product/bin
/ipa/products/product/etc
/ipa/products/product/doc
/ipa/products/product/forms
/ipa/products/product/help
/ipa/products/product/include
/ipa/products/product/lib

EXTERNAL INFLUENCES

The SDE_PRODUCTS environment variable defines where the project directory will be created. The default value is /ipa/products.

SEE ALSO

product(1), prod_delete(1)

AUTHOR

Ivica Crnkovic

NAME

product delete - delete a product or a part of it

SYNOPSIS

product delete [-i] [-f] [product_path]

DESCRIPTION

The product delete command deletes a product structure or a part of it.

PARAMETERS

product_path
The name of the product, or a substructure of a product (release, or a subdirectory).

OPTIONS

-i[nquire]
Ask for each file if it should be deleted or not.

-f Execute the command directly without asking for parameters.

EXAMPLES

$product delete
Product name : ex_prod/1.0-0
Do you really want to delete the product ex_prod/1.0-0? (y/n) : y

Removing product files at /ipa/product/ex_prod/1.0-0...

Product ex_prod/1.0-0 is deleted.

DIRECTORIES

/ipa/products/product

SEE ALSO

product(1), prod_create(1)

AUTHOR

Ivica Crnkovic

NAME

product goto - go to a product directory

SYNOPSIS

product goto [-f] [-t] [-v] [ -s] [-n] [product_path]

DESCRIPTION

The product goto command creates a new process and sets the specified product directory as the current directory.

PARAMETERS

product_path
A product or a product sub-directory to be setup.

OPTIONS

-f
Executes the command without asking about the parameters.

-t[erminal]
Creates a new terminal window.

-v[ue]
Creates a new file manager window.

-s[oftbench]
Creates a new Softbench development manager window.

-n[o_window]
Creates a new process in the same terminal window from which the command is invoked. If the options -v -t -s are not specified this option is the default one.

EXAMPLES

$product goto ex_prod/1.0-0
prod-ex_prod>
pwd
/ipa/products/ex_prod/1.0-0

DIRECTORIES

/ipa/products/product

SEE ALSO

prod_create(1)

AUTHOR

Ivica Crnkovic

NAME

product info - provide information about products

SYNOPSIS

product info [-d] [-o] [-r] [-f] [-l]

[-a] [-c] [product ...]

DESCRIPTION

The product info command displays information about products

PARAMETERS

product
the product name

OPTIONS

-d[irectory]
lists the product directory

-o[verview]
list the product overview file

-r[eadme]
list the product README file placed in the info directory

-a[ll files]
shows all links and files

-f[iles]
show all files

-l[inks]
show all links

-c[hmode]
list chmode for files

AUTHOR

Lars-Erik Strom

NAME

product merge - merge all the components of the product

SYNOPSIS

product merge [-f] [-v] [-c chmode] [-o owner] [-g grp] [product/release]

DESCRIPTION

The product merge command collects all the files in the release structure. All symbolic links (created by product newrel command) are replaced by a real copies of the files. This commad is used to collect all the files within one structure.

By default all the files being created get the read-write-execute access which are defined by umask value.

PARAMETERS

product/release
A product release

OPTIONS

-f
Executes the command without asking about the parameters.

-v Writes which files have been copied.

-u Sets u-mask flag for all the files and directories.

-c mod
Sets chmode mod for files and directories. Any valid parameter for chmod command may be specified.

-o own
Defines owner for files.

-g grp
Defines group for files

EXAMPLES

product merge -v ex_prod/1.1-0

SEE ALSO

product(1), prod_create(1), prod_newrel(1) chmod(1), chown(1), chgrp(1)

AUTHOR

Ivica Crnkovic

NAME

product newrel - create a new release structure

SYNOPSIS

product newrel [-f] [-v] [product] [source_release] [dest_release]

DESCRIPTION

The product newrel command creates a new release structure that corresponds to the old release. In the new structure it creates symbolic links to all the files in the old release. In this way the new release looks exactly like the old release.

The purpose of the command is to initiate a new release.

PARAMETERS

product
A product name

source_release
The release name from which the new release will be created

dest_release
new release name

OPTIONS

-f
Executes the command without asking about the parameters.

-v Shows which directories and links have been created.

EXAMPLES

product newrel ex_prod 1.0-0 1.1-0

DIRECTORIES

/ipa/products/product
/ipa/products/product/source_release
/ipa/products/product/dest_release

SEE ALSO

product(1), prod_create(1), prod_merge(1)

AUTHOR

Ivica Crnkovic

NAME

product rename - rename a product, product release, or product directory

SYNOPSIS

product rename product_path new_name

DESCRIPTION

The command product rename renames the latest part of a product_path to new_name. When a product or a product release is renamed, the overview files in the product releases are changed. If the product contains links, which includes the product/product release that is renamed, these links are also changed. If /ipa/products includes a link pointing to the product this link is also changed. Other links pointing to the product are not changed, this must be done manually.

EXAMPLES

product rename productA productB

renames productA to productB

product rename productB/2.0-0 2.1-0

renames product release 2.0-0 in productB to 2.1-0

product rename productB/2.1-0/dir1 dirA

renames product directory dir1 in productB/2.1-0 to dirA

SEE ALSO

product(1), rentree(1)

AUTHOR

Elisabet de Waal

NAME

prodm - SDE-Product Manager tool

SYNOPSIS

prodm

DESCRIPTION


The SDE - Product Manager is a tool for managing products, as defined by SDE-CORE. Using the SDE - Product Manager, you can

- Create (structures for) new products

- Perform release work on a product: create (structure for) new release,
merge release, change protection.

- Generate product specification

The Product Manager is built on top of the SDE-CORE line commands. It has a Motif user interface with pulldown menues and dialog boxes.

AUTHOR

Lars-Erik Strom

NAME

product - invoke product commands

SYNOPSIS

product create [-f] [product] ["product_description"] [product_release] ["responsible_department"] [product_directory]

product delete [-i] [-f] [product_path]

product info [-d] [-o] [-r] [-a] [-l] [-f] [-c ] [product_path]

product goto [-f] [-t] [-v] [-s] [-n] [ ] [product_path]

product newrel [-f] [-v] [product] [source] [destination]

product merge [-v] [-f] [product/release]

product rename [product_path ] [new_name]

DESCRIPTION

The following actions are defined:

product create. . . . . . . . create a new product
product delete. . . . . . . . delete a product
product goto. . . . . . . . . go to a product directory
product info. . . . . . . . . give information about products
product merge . . . . . . . . merge product components to one release
product newrel. . . . . . . . create new release structure
product rename. . . . . . . . rename a product, product release, or

product directory

All options and parameters are optional. If required parameters are omitted, the commands set default values and prompt for them. Options must be specified before the command parameters and may be specified by first significant characters (in most cases by one character).

DIRECTORIES

/ipa/products

SEE ALSO

prod_create(1), prod_delete(1), prod_goto(1), prod_info(1), prod_merge(1), prod_newrel(1), prod_rename(1)

AUTHOR

Ivica Crnkovic

NAME

project - invoke project commands

SYNOPSIS

project addmember [-f] [-w] [project] [userid] ["user name"] [user_working_directory]

project addsystem [-f] [project] [system]

project addwd [-f] [-a]-ldir] [-uuserid] [project] [system] [wd_name]

project create[-f] [project] ["project description"] [project_manager_userid] ["project_manager_name"] [project_directory]

project chmanager project_name new_userid [new_groupid]

project delete [-i] [ -dpath] [-f] [project]

project delmember [-i] [ -dpath] [-f] [project] [userid]

project delsystem [-f] [project] [system]

project info [-m] [-uuserid] [project ... ]

project lnadd [options] [work_dir]

project rename [project_name] [new_project_name]

project set [-uuserid] [-f] [-t] [-v] [-s] [-n] [ -d project_path] [-r] [-wworking_directory] [-a] [project] [subdir]

project terminate [-c] [-d path] [project]

DESCRIPTION

The following actions are defined:

project addmember - add a new member to a project
project addsystem - add a new system to a project
project addwd - add working directories to a project
project chmanager - change the manager of a project
project create - create a new project
project delet - delete a project
project delmember - remove a member from a project
project delsystem - remove a system from a project
project info - give information about projects
project lnadd - create symbolic links in a project work structure
project rename - rename a project
project set - set working context for a project
project terminate - terminate a project

All options and parameters are optional. If required parameters are omitted, the commands set default values and prompt for them. Options must be specified before the command parameters and may be specified by first significant characters (in most cases by one character).

DIRECTORIES

/ipa/projects

SEE ALSO

p_addmember(1), p_addwd(1), p_addsystem(1), p_chmanager(1), p_create(1), p_delete(1), p_delmember(1), p_delsystem(1), p_info(1), p_lnadd(1), p_rename(1), p_set(1), p_terminate(1)

AUTHOR

Ivica Crnkovic

NAME

projm - SDE-Project Manager tool

SYNOPSIS

projm

DESCRIPTION


The SDE - Project Manager is a tool for managing projects, as defined by SDE-CORE. Using the SDE - Project Manager, you can

- Create, delete, rename, and terminate projects

- Add and remove project members and common work directories

- Add systems to projects, remove systems from projects

- Start other tools, such as the System Manager and the Product Manager

- Perform "project set"

The Project Manager is built on top of the SDE-CORE line commands. It has a Motif user interface with pulldown menues and dialog boxes.

AUTHOR

Lars-Erik Strom

NAME

pspec - generate Product Specification information

SYNOPSIS

pspec [-d |-m] [-t] [-nt sub_dir ] [-o old_prod_root ] [-p file_name.mif ] [-w n ] [-PD] [any cpp option] [pd_file [product_root ]]

DESCRIPTION


The command pspec lists product specification information for files in a product directory or PD file to standard output and optionally to a Maker Interchange Format file, that can be imported into a FrameMaker document.
The product specification information consists of filename (from product directory or PD file), description (from PD files) and state (New, Modified, Unmodified or Obsolete).
A table of product specification information is produced for each subdirectory and it is proceeded by a header with the directory name. All files are listed by default. With option -m, the command lists only new and modified files, with option -d, the command lists only deleted files. Files in a subdirectory can be listed with option -nt sub_dir.
Internally, pcopy is used to extract the contents of the PD file(s) without actually copying any files. difftree is used to compare two directory trees. diff compares file by file if option -PD is specified.

PARAMETERS

pd_file
Product Definition file. If not specified, and the environment variable SDE_PD is undefined, the command prompts for the parameter.

product_root
Product root directory. If not specified, and the environment variable PRODUCT_ROOT is undefined, the command prompts for the parameter.

OPTIONS

-d
List only files not included in the product. Comparison with files in the old product defined by option -o.

-m List only modified and new files in the product. Comparison with files in the old product defined by option -o.

-nt sub_dir

List only files in product_root/sub_dir.

-o old_prod_root

Compare files in product_root with files in old_prod_root.

-p file_name.mif

Create a file that can be imported into a FrameMaker document. The file produced is in Maker Interchange Format and must have extension .mif. If the file exists, it is overwritten.

-t If the pd_file does not consist of "include statements" use this option to find all PD files in the tree. The option is used internally with the command pcopy.

-w n
Option used internally in dircmp to specify output width in n number of characters. Used to avoid truncation of long file and directory names.

-PD Generate information for files in PD file. If a file defined in a PD file is not found a WARNING message is printed on stderr.

EXTERNAL INFLUENCES

The environment variable SDE_PD defines the PD file name. The environment variable PRODUCT_ROOT defines the product root directory.

EXAMPLES

pspec -p ex1.mif -o /ipa/products/ex_prod/2.1-0 /aut/km/ex_system/2.2-0/ex.pd /ipa/products/ex_prod/2.2-0

creates product specification information for all files in a product directory when an older version of the product exists.

pspec -PD /aut/km/ex_system/1.0-0/ex.pd /ipa/products/ex/1.0-0

creates product specification information for files in a PD file.

WARNINGS

For test of consistency between PD files and files in the product directory, use the command pdcheck before pspec.

SEE ALSO

pdcheck(1), pcopy(1), difftree(1), dircmp(1)

AUTHOR

E Antonsson

NAME

ptool - source code printout utility

SYNOPSIS

ptool [-d device] [-s size] [-r] [-l] [-o output] [-p paper] [-t "title"] [files]

DESCRIPTION

The command ptool provides the user with an ability to print out source code files to PostScript printer or to standard output. If no files are specified then the standard input is used, i.e. output of another command may be piped to ptool. Options to the ptool command can be given either on the command line or as environment variables.

OPTIONS

-d device
Specifies on which device the printout should be done, i.e. a printer queue. The default value is ps. Overrides the PTOOLQUEUE environment variable.

-s size
Sets the font size to be used at printout. Valid integer values are 0..20. The default value is 7. Overrides the PTOOLFONTSIZE environment variable.

-r Sets the fontset to be used at printout to ROMAN8. The default value is ISOLATIN. Overrides the PTOOLFONTSET environment variable.

-o output
Specifies if the output are sent to printer or to standard output. Possible values are PRINTER or STDOUT. PRINTER is the default. Overrides the PTOOLOUTPUT environment variable. The default value is PRINTER.

-p paper
Defines the paper size to print on. Possible values are US or EUR. US is american A4 size and EUR is european A4 size. EUR is the default. Overrides the PTOOLFORMAT environment variable.

-t "Print Title"
Defines the header title. The default value is the name of the input file and its path. When no input file is specified the defaut value is "Standard Input". The option overrides the PTOOLTITLE environment variable.

-l Specifies landscape printout format.

PARAMETERS

files
Specifies a list of files to be printed by the ptool command.

ENVIRONMENT


PTOOLQUEUE PostScript printer queue.
PTOOLFONTSIZE Font size
PTOOLFONTSET Fontset name
PTOOLOUTPUT Output device
PTOOLFORMAT Paper size
PTOOLTITLE Print title when standard input is used

EXAMPLES

Make a printout of all files with extension C and H on a directory. Print it on device lnr14d_p with font size 14.

ptool -d lnr14d_p -s 14 *.C *.H

Set up a default environment and print the files foo.txt and bar.txt.

export PTOOLFORMAT=US
export PTOOLOUTPUT=PRINTER
export PTOOLFONTSIZE=12
export PTOOLFONTSET=ROMAN8
export PTOOLQUEUE=lnr14d_p
ptool foo.txt bar.txt

FILES

header.PS
This file contains the PostScript code for the page header and breaksymbol. An experienced PostScript programmer can edit this file in order to get a customized header and breaksymbol. Be sure not to change the procedure names when editing this file.

AUTHORS

Ulf Enarsson, Lars Draws, Ivica Crnkovic, Shaheen Ghasemi

NAME

rcs - change RCS file attributes

SYNOPSIS

rcs options-file-.-.-.

DESCRIPTION

rcs creates new RCS files or changes attributes of existing ones. An RCS file contains multiple revisions of text, an access list, a change log, descriptive text, and some control attributes. For rcs to work, the caller's login name must be on the access list, except if the access list is empty, the caller is the owner of the file or the superuser, or the -i option is present.

Pathnames matching an RCS suffix denote RCS files; all others denote working files. Names are paired as explained in ci(1). Revision numbers use the syntax described in ci(1).

OPTIONS

-i
Create and initialize a new RCS file, but do not deposit any revision. If the RCS file has no path prefix, try to place it first into the subdirectory ./RCS, and then into the current directory. If the RCS file already exists, print an error message.

-alogins
Append the login names appearing in the comma-separated list logins to the access list of the RCS file.

-Aoldfile
Append the access list of oldfile to the access list of the RCS file.

-e[logins]
Erase the login names appearing in the comma-separated list logins from the access list of the RCS file. If logins is omitted, erase the entire access list.

-b[rev]
Set the default branch to rev. If rev is omitted, the default branch is reset to the (dynamically) highest branch on the trunk.

-cstring
Set the comment leader to string. An initial ci, or an rcs- -i without -c, guesses the comment leader from the suffix of the working filename.

This option is obsolescent, since RCS normally uses the preceding $Log$ line's prefix when inserting log lines during checkout (see co(1)). However, older versions of RCS use the comment leader instead of the $Log$ line's prefix, so if you plan to access a file with both old and new versions of RCS, make sure its comment leader matches its $Log$ line prefix.

-ksubst
Set the default keyword substitution to subst. The effect of keyword substitution is described in co(1). Giving an explicit -k option to co, rcsdiff, and rcsmerge overrides this default. Beware rcs -kv, because -kv is incompatible with co -l. Use rcs--kkv to restore the normal default keyword substitution.

-l[rev]
Lock the revision with number rev. If a branch is given, lock the latest revision on that branch. If rev is omitted, lock the latest revision on the default branch. Locking prevents overlapping changes. If someone else already holds the lock, the lock is broken as with rcs --u (see below).

-u[rev]
Unlock the revision with number rev. If a branch is given, unlock the latest revision on that branch. If rev is omitted, remove the latest lock held by the caller. Normally, only the locker of a revision can unlock it. Somebody else unlocking a revision breaks the lock. This causes a mail message to be sent to the original locker. The message contains a commentary solicited from the breaker. The commentary is terminated by end-of-file or by a line containing . by itself.

-L Set locking to strict. Strict locking means that the owner of an RCS file is not exempt from locking for checkin. This option should be used for files that are shared.

-U Set locking to non-strict. Non-strict locking means that the owner of a file need not lock a revision for checkin. This option should not be used for files that are shared. Whether default locking is strict is determined by your system administrator, but it is normally strict.

-mrev:msg
Replace revision rev's log message with msg.

-M Do not send mail when breaking somebody else's lock. This option is not meant for casual use; it is meant for programs that warn users by other means, and invoke rcs --u only as a low-level lock-breaking operation.

-nname[:[rev]]
Associate the symbolic name name with the branch or revision rev. Delete the symbolic name if both : and rev are omitted; otherwise, print an error message if name is already associated with another number. If rev is symbolic, it is expanded before association. A rev consisting of a branch number followed by a . stands for the current latest revision in the branch. A : with an empty rev stands for the current latest revision on the default branch, normally the trunk. For example, rcs-nname:RCS/* associates name with the current latest revision of all the named RCS files; this contrasts with rcs-nname:$RCS/* which associates name with the revision numbers extracted from keyword strings in the corresponding working files.

-Nname[:[rev]]
Act like -n, except override any previous assignment of name.

-orange
deletes ("outdates") the revisions given by range. A range consisting of a single revision number means that revision. A range consisting of a branch number means the latest revision on that branch. A range of the form rev1:rev2 means revisions rev1 to rev2 on the same branch, :rev means from the beginning of the branch containing rev up to and including rev, and rev: means from revision rev to the end of the branch containing rev. None of the outdated revisions can have branches or locks.

-q Run quietly; do not print diagnostics.

-I Run interactively, even if the standard input is not a terminal.

-sstate[:rev]
Set the state attribute of the revision rev to state. If rev is a branch number, assume the latest revision on that branch. If rev is omitted, assume the latest revision on the default branch. Any identifier is acceptable for state. A useful set of states is Exp (for experimental), Stab (for stable), and Rel (for released). By default, ci(1) sets the state of a revision to Exp.

-t[file]
Write descriptive text from the contents of the named file into the RCS file, deleting the existing text. The file pathname cannot begin with -. If file is omitted, obtain the text from standard input, terminated by end-of-file or by a line containing .by itself. Prompt for the text if interaction is possible; see -I. With -i, descriptive text is obtained even if -t is not given.

-t-string
Write descriptive text from the string into the RCS file, deleting the existing text.

-T Preserve the modification time on the RCS file unless a revision is removed. This option can suppress extensive recompilation caused by a make(1) dependency of some copy of the working file on the RCS file. Use this option with care; it can suppress recompilation even when it is needed, i.e. when a change to the RCS file would mean a change to keyword strings in the working file.

-V Print RCS's version number.

-Vn Emulate RCS version n. See co(1) for details.

-xsuffixes
Use suffixes to characterize RCS files. See ci(1) for details.

-zzone
Use zone as the default time zone. This option has no effect; it is present for compatibility with other RCS commands.

At least one explicit option must be given, to ensure compatibility with future planned extensions to the rcs command.

COMPATIBILITY

The -brev option generates an RCS file that cannot be parsed by RCS version 3 or earlier.

The -ksubst options (except -kkv) generate an RCS file that cannot be parsed by RCS version 4 or earlier.

Use rcs--Vn to make an RCS file acceptable to RCS version n by discarding information that would confuse version n.

RCS version 5.5 and earlier does not support the -x option, and requires a ,v suffix on an RCS pathname.

FILES

rcs accesses files much as ci(1) does, except that it uses the effective user for all accesses, it does not write the working file or its directory, and it does not even read the working file unless a revision number of $ is specified.

ENVIRONMENT

RCSINIT
options prepended to the argument list, separated by spaces. See ci(1) for details.

DIAGNOSTICS

The RCS pathname and the revisions outdated are written to the diagnostic output. The exit status is zero if and only if all operations were successful.

IDENTIFICATION

Author: Walter F. Tichy.
Manual Page Revision: 1.5; Release Date: 1996/10/08.
Copyright © 1982, 1988, 1989 Walter F. Tichy.
Copyright © 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.

SEE ALSO

rcsintro(1), co(1), ci(1), ident(1), rcsclean(1), rcsdiff(1), rcsmerge(1), rlog(1), rcsfile(5)
Walter F. Tichy, RCS -- A System for Version Control, Software--Practice & Experience 15, 7 (July 1985), 637-654.

BUGS

A catastrophe (e.g. a system crash) can cause RCS to leave behind a semaphore file that causes later invocations of RCS to claim that the RCS file is in use. To fix this, remove the semaphore file. A semaphore file's name typically begins with , or ends with _.

The separator for revision ranges in the -o option used to be - instead of :, but this leads to confusion when symbolic names contain -. For backwards compatibility rcs -o still supports the old - separator, but it warns about this obsolete use.

Symbolic names need not refer to existing revisions or branches. For example, the -o option does not remove symbolic names for the outdated revisions; you must use -n to remove the names.

NAME

rcsclean - clean up working files

SYNOPSIS

rcsclean [options]-[-file-.-.-.-]

DESCRIPTION

rcsclean removes files that are not being worked on. rcsclean -u also unlocks and removes files that are being worked on but have not changed.

For each file given, rcsclean compares the working file and a revision in the corresponding RCS file. If it finds a difference, it does nothing. Otherwise, it first unlocks the revision if the -u option is given, and then removes the working file unless the working file is writable and the revision is locked. It logs its actions by outputting the corresponding rcs -u and rm -f commands on the standard output.

Files are paired as explained in ci(1). If no file is given, all working files in the current directory are cleaned. Pathnames matching an RCS suffix denote RCS files; all others denote working files.

The number of the revision to which the working file is compared may be attached to any of the options -n, -q, -r, or -u. If no revision number is specified, then if the -u option is given and the caller has one revision locked, rcsclean uses that revision; otherwise rcsclean uses the latest revision on the default branch, normally the root.

rcsclean is useful for clean targets in makefiles. See also rcsdiff(1), which prints out the differences, and ci(1), which normally reverts to the previous revision if a file was not changed.

OPTIONS

-ksubst
Use subst style keyword substitution when retrieving the revision for comparison. See co(1) for details.

-n[rev]
Do not actually remove any files or unlock any revisions. Using this option will tell you what rcsclean would do without actually doing it.

-q[rev]
Do not log the actions taken on standard output.

-r[rev]
This option has no effect other than specifying the revision for comparison.

-T Preserve the modification time on the RCS file even if the RCS file changes because a lock is removed. This option can suppress extensive recompilation caused by a make(1) dependency of some other copy of the working file on the RCS file. Use this option with care; it can suppress recompilation even when it is needed, i.e. when the lock removal would mean a change to keyword strings in the other working file.

-u[rev]
Unlock the revision if it is locked and no difference is found.

-V Print RCS's version number.

-Vn Emulate RCS version n. See co(1) for details.

-xsuffixes
Use suffixes to characterize RCS files. See ci(1) for details.

-zzone
Use zone as the time zone for keyword substitution; see co(1) for details.

EXAMPLES

rcsclean *.c *.h

removes all working files ending in .c or .h that were not changed since their checkout.

rcsclean

removes all working files in the current directory that were not changed since their checkout.

FILES

rcsclean accesses files much as ci(1) does.

ENVIRONMENT

RCSINIT
options prepended to the argument list, separated by spaces. A backslash escapes spaces within an option. The RCSINIT options are prepended to the argument lists of most RCS commands. Useful RCSINIT options include -q, -V, -x, and -z.

DIAGNOSTICS

The exit status is zero if and only if all operations were successful. Missing working files and RCS files are silently ignored.

IDENTIFICATION

Author: Walter F. Tichy.
Manual Page Revision: 1.5; Release Date: 1996/10/08.

Copyright © 1982, 1988, 1989 Walter F. Tichy.
Copyright © 1990, 1991, 1992, 1993 Paul Eggert.

SEE ALSO

ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1), rcsfile(5)
Walter F. Tichy, RCS -- A System for Version Control, Software-Practice & Experience 15, 7 (July 1985), 637-654.

BUGS

At least one file must be given in older Unix versions that do not provide the needed directory scanning operations.

NAME

rcscomb - Copies selected versions of RCS files from one RCS library to another.

SYNOPSIS

rcscomb [options] files RCS_dest

DESCRIPTION


The rcscomb command checks out specified versions of files placed in the RCS source library and checks them in the RCS_dest library. The files are checked in into the RCS_dest library with the same version, as when checked out from the source library.

Optionally the source RCS library is deleted and instead of it a link to the destination RCS library is created.

Before the combining is done, the RCS library must be checked, this is default. If option -a the RCS library is also combined.

If -b option is used, every selected file will be combined into a file branch in the destination RCS library. The file branch will be created from the version copied when creating the work directory.

The CR directory (including Change Requests) is kept as is, CRs with the state Rel get the symbolic name specified with the -n option.

PARAMETERS

files
Specifies which files will be taken to the new RCS library. All specified files that match values defined by options are put in the new RCS. Normally all files from the source RCS directory are taken.

If in the destination RCS directory a file version with the same name already exists, or if the version numbers of the files are the same, then the version is not copied, but all the names that belong to the source file version are added to the corresponding version in the destination RCS library. The file is checked in with the same version as in the source directory, this means that not all file version numbers will be used in the destination directory.

Files with status Unchanged are not copied.

If no option is specified then the latest versions are copied.

RCS_dest
Specifies the RCS directory where the RCS files are combined into.

OPTIONS

-r rev
Select the latest version of files whose number is less than or equal to rev. If rev indicates a branch rather than a version, the latest version on that branch is retrieved. If -r rev is omitted, the latest version on the default branch is retrieved. If rev is $, the command determines the version number from keyword values in the working file. Otherwise, a version is composed of one or more numeric or symbolic fields separated by periods.

-s state
Select the latest version on the selected branch whose state is set to state.

-w login
Select the latest version on the selected branch which was checked in by the user with login name login.

-x suffixes
Select files specified by the suffixes for RCS files. A nonempty suffix matches any pathname ending in the suffix. An empty suffix matches any pathname of the form RCS/file or path/RCS/file. The -x option can specify a list of suffixes separated by /. For example, -x ,v/ specifies two suffixes: ,v and the empty suffix. If two or more suffixes are specified, they are tried in order when looking for an RCS file; the first one that works is used for that file. If no RCS file is found but an RCS file can be created, the suffixes are tried in order to determine the new RCS file's name. The default for suffixes is installation-dependent; normally it is ,v/ for hosts like Unix that permit commas in file names, and is empty (i.e. just the empty suffix) for other hosts.

-d date
Select the latest version on the selected branch whose checkin date/time is less than or equal to date. The date and time may be given in free format. The time zone LT stands for local time; other common time zone names are understood. For more detail see the co(1) command.

-g grp
Select files that belong to the group grp.

-m Delete the RCS source directory and create a link to the destination RCS directory.

-n name
Specify a new symbolic name for all files in the new RCS library.

-S state
Specify a new state for the files in the new RCS library.

-M message
Specify a log message for the files checked in into the new RCS library. By default message is set to "Combined version".

-a Do an "action" on the directory, combine the RCS libraries. If not specified, only check if the library can be combined. The default, is to do only check of the library.

-v List which files are copied into new RCS library from the old RCS.

-b Create a branch for each selected file when combining it into the RCS_dest library. Files with status Unchanged will also be copied into a branch in the destination RCS library.

-f Forces combining of a version, even if warnings are got during the check step. Only file versions which do not have later versions in the file can be combined. For example, a file with version 1.3 can be combined only if the file version in the destination directory is 1.2 or lower.

EXAMPLES

rcscomb -a -r R1_0_0 /rel/RCS

copies all the file versions specified by the symbolic name R1_0_0 from the RCS library placed in the current directory to the /rel/RCS directory. The command starts with check of the library.

rcscomb -a /rel/RCS

takes the latest versions of all the files from the RCS library in current directory and copies them to /rel/RCS. The command starts with check of the library.

rcscomb -a -b /rel/RCS

takes the latest versions of all the files from the RCS library in current directory and checks them into /rel/RCS as a branch. The command starts with check of the library.

SEE ALSO

ci(1), co(1), rcs(1), s_combine(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal



NAME

rcsdiff - compare RCS revisions

SYNOPSIS

rcsdiff [ -ksubst ] [ -q ] [ -rrev1 [ -rrev2 ] ] [ -T ] [ -V[n] ] [ -xsuffixes ] [ -zzone ] [ diff options ] file .-.-.

DESCRIPTION

rcsdiff runs diff(1) to compare two revisions of each RCS file given.

Pathnames matching an RCS suffix denote RCS files; all others denote working files. Names are paired as explained in ci(1).

The option -q suppresses diagnostic output. Zero, one, or two revisions may be specified with -r. The option -ksubst affects keyword substitution when extracting revisions, as described in co(1); for example, -kk- -r1.1 --r1.2 ignores differences in keyword values when comparing revisions 1.1 and 1.2. To avoid excess output from locker name substitution, -kkvl is assumed if (1) at most one revision option is given, (2) no -k option is given, (3) -kkv is the default keyword substitution, and (4) the working file's mode would be produced by co -l. See co(1) for details about -T, -V, -x and -z. Otherwise, all options of diff(1) that apply to regular files are accepted, with the same meaning as for diff.

If both rev1 and rev2 are omitted, rcsdiff compares the latest revision on the default branch (by default the trunk) with the contents of the corresponding working file. This is useful for determining what you changed since the last checkin.

If rev1 is given, but rev2 is omitted, rcsdiff compares revision rev1 of the RCS file with the contents of the corresponding working file.

If both rev1 and rev2 are given, rcsdiff compares revisions rev1 and rev2 of the RCS file.

Both rev1 and rev2 may be given numerically or symbolically.

EXAMPLE

The command

rcsdiff f.c

compares the latest revision on the default branch of the RCS file to the contents of the working file f.c.

ENVIRONMENT

RCSINIT
options prepended to the argument list, separated by spaces. See ci(1) for details.

DIAGNOSTICS

Exit status is 0 for no differences during any comparison, 1 for some differences, 2 for trouble.

IDENTIFICATION

Author: Walter F. Tichy.
Manual Page Revision: 1.5; Release Date: 1996/10/08..
Copyright © 1982, 1988, 1989 Walter F. Tichy.
Copyright © 1990, 1991, 1992, 1993 Paul Eggert.

SEE ALSO

ci(1), co(1), diff(1), ident(1), rcs(1), rcsintro(1), rcsmerge(1), rlog(1)
Walter F. Tichy, RCS- System for Version Control, Software, Practice & Experience 15, 7 (July 1985), 637-654.

NAME

rcsfind - Search a directory tree for RCS files matching some criteria.

SYNOPSIS

rcsfind [options] [directories]

DESCRIPTION

The command rcsfind executes the command rcsinfo -R, followed by the rcsfind options, for each directory in a directory tree.

PARAMETERS

directories
Specifies which directories to search recursively. The default is the current directory (".").

OPTIONS

The following options are applied as search keys on each RCS file and limit the resulting output.
The options are sent further to rcsinfo, for more information about the options see rcsinfo(1).

-r[versions]
See -r option in rcsinfo(1).

-nr [versions]
See -nr option in rcsinfo(1). Note, that the option -nr and versions must be separated with a space.

-l[lockers]
See -l option in rcsinfo(1).

-sstates
See -s option in rcsinfo(1).

-ns states
See -ns option in rcsinfo(1). Note, that the option -ns and states must be separated with a space.

-w[logins]
See -w option in rcsinfo(1).

-ddates
See -d option in rcsinfo(1).

-P See -P option in rcsinfo(1).

-zzone
See -z option in rcsinfo(1).

EXAMPLES

$ rcsfind -l

prints all the RCS files in the directory tree . that are locked.

$ rcsfind -sExp -r

prints all the RCS files in the directory tree . where the latest version has state Exp.

$ rcsfind -ns Stable,Unchanged,Rel,Obsolete -r

prints all the RCS files in the directory tree . prints all the files which latest version does not have the state Stable, Unchanged, Rel, or Obsolete.

SEE ALSO

rcsinfo(1)

AUTHOR

Stefan Frennemo

NAME

rcsfreeze - freeze a configuration of sources checked in under RCS

SYNOPSIS

rcsfreeze [name]

DESCRIPTION

rcsfreeze assigns a symbolic revision number to a set of RCS files that form a valid configuration.

The idea is to run rcsfreeze each time a new version is checked in. A unique symbolic name (C_number, where number is increased each time rcsfreeze is run) is then assigned to the most recent revision of each RCS file of the main trunk.

An optional name argument to rcsfreeze gives a symbolic name to the configuration. The unique identifier is still generated and is listed in the log file but it will not appear as part of the symbolic revision name in the actual RCS files.

A log message is requested from the user for future reference.

The shell script works only on all RCS files at one time. All changed files must be checked in already. Run rcsclean(1) first and see whether any sources remain in the current directory.

FILES

RCS/.rcsfreeze.ver
version number

RCS/.rcsfreeze.log
log messages, most recent first

AUTHOR

Stephan v. Bechtolsheim

SEE ALSO

co(1), rcs(1), rcsclean(1), rlog(1)

BUGS

rcsfreeze does not check whether any sources are checked out and modified.

Although both source file names and RCS file names are accepted, they are not paired as usual with RCS commands.

Error checking is rudimentary.

rcsfreeze is just an optional example shell script, and should not be taken too seriously. See CVS for a more complete solution.

NAME

rcsinfo - Provide information about RCS library.

SYNOPSIS

rcsinfo [options] [files]

DESCRIPTION

The command rcsinfo displays different information about files placed in the RCS directory. In general, the following format of the printout is defined, one line per file version:

filename version State: status Author: author Name: names Locked by: Locker

"Name: names" appears only if there are any symbolic names for the file version. "Locked by: Locker" appears only if the file version is locked.

Several options may be used to get different output format. See options -c, -T, -D and -C.

PARAMETERS

files Specifies which files should be looked for. You may specify working file names, or versioned file names, i.e. "file" or "RCS/file,v".
If no parameter is specified then the RCS directory in the current directory is processed.
If you specify a directory (only one parameter) then the RCS directory placed under that directory will be processed.

OPTIONS

The following options are applied as search keys on each file, version and limit the resulting output; only data for matching file,version pairs are displayed:

-r[versions]
Prints information about file versions given in the comma-separated list versions of versions and ranges. A range rev1:rev2 means versions rev1 to rev2 on the same branch, :rev means versions from the beginning of the branch up to and including rev, and rev: means versions starting with rev to the end of the branch containing rev. An argument that is a branch means all versions on that branch. A range of branches means all versions on the branches in that range. A branch followed by a . means the latest versions in that branch. A bare -r with no versions means the latest version on the default branch, normally the trunk.

-nr[versions]
Prints information about file versions that are not given in the comma-separated list versions of versions and ranges. See -r for a description of the list. -nr can be combined with -r to for example look at the latest version of files which do not have the versions (e.g. symbolic name) specified with -nr.

-l[lockers]
Print information about locked file versions. In addition, if the comma-separated list lockers of login names is given, ignore all locks other than those held by the lockers.

-sstates Print information about file versions whose state is equal to one of the states given in the comma-separated list states. It cannot be combined with the -ns option.

-nsstates
Print information about file versions whose state is not equal to one of the states given in the comma-separated list states. It cannot be combined with the -s option.

-w[logins]
Print information about file versions checked in by users with login names appearing in the comma-separated list logins. If logins is omitted, the user's login is assumed.

-ddates Print information about file versions with a checkin date/time in the ranges given by the semicolon-separated list of dates. A range of the form d1<d2 or d2>d1 selects the versions that were deposited between d1 and d2 exclusive. A range of the form <d or d> selects all versions earlier than d. A range of the form d < or >d selects all versions dated later than d. If < or > is followed by = then the ranges are inclusive, not exclusive. A range of the form d selects the single, latest version dated d or earlier. The date/time strings d, d1, and d2 are in the free format explained in co(1). Quoting is normally necessary, especially for < and >. Note that the separator is a semicolon.

-b Print information about versions of the default branch.

rcsinfo prints the intersection of the file versions selected with the options -r, -nr, -l, -s, -ns, -w, -d, and -b, with the exception that -r, -nr and -b will first form a union that will then be intersected with the other selections.

The following options change the way in which the files are selected:

-x suffixes
Select files in the same way as in checkout or in co command.

The following options define the output format:

-T[VSADLNC]
Defines the column output format. The following option keywords are defined:
V List Version Number
S List State
A List Author
D List Version Date
L List Locker's Name (L:userid)
N List Symbolic Name (if defined)
C List Title Description
Any combination of these keys may be used. If the -T option is specified with no key, then only file names are listed (once for each version). Note that the C keyword should be used only when one version of files are displayed (for example when the option -r is defined) and when descriptions are one line long. Otherwise unpredictable displays may occur. When printing several versions of a file, use -C option instead.

-c This option is the same as the combination -TSVAN.

-C Writes the file description title after the list of versions. The description is displayed in a separate line.

-D Instead of the ordinary output, print the description of each file. -D cannot be combined with -r, or -nr.

-R Lists versioned filenames placed in the RCS directory.

-P Option used for internal purposes. Writes full pathname of the files. The path specification corresponds to input path specification (i.e if no path is specified in the RCS command, only filenames will be presented. If the full path is specified for the RCS directory, then the full pathname is listed).

-zzone
Specifies the date output format, and specifies the default time zone for date in the -ddates option. The zone should be empty, a numeric UTCs offset, or the special string LT for local time. The default is an empty zone, which uses the traditional RCS format of UTCs without any time zone indication and with slashes separating the parts of the date; otherwise, times are output in ISOPrac@ 8601 format with time zone indication. For example, if local time is January 11, 1990, 8pm Pacific Standard Time, eight hours west of UTCs, then the time is output as follows:

option time output
-z 1990/01/12 04:00:00 (default)
-z LT 1990-01-11 20:00:00-08
-z+05:30
1990-01-12 09:30:00+05:30

EXAMPLES

$ rcsinfo -rR1_1_0 prints all the files that have symbolic names R1_1_0.

$ rcsinfo -nsStable,Unchanged,Rel,Obsolete -r prints all the files which latest version do not have the state Stable, Unchanged, Rel, or Obsolete.

SEE ALSO

s_rcsinfo(1), rlog(1)

AUTHOR

Ivica Crnkovic, Mats Medin

NAME

rcsiniw - Initiate a RCS directory for new work session.

SYNOPSIS

rcsiniw [options] [files]

DESCRIPTION

The rcsiniw command prepares a work directory and belonging RCS directory for a new work session. It looks for the RCS directory placed in the current directory. If the RCS library is defined as a symbolic link, it removes the link and creates the RCS directory instead of link. The files are copied from the original RCS directory to the created RCS directory. After the copying all file versions except one (default latest version) are purged. In this way the new RCS directory gets one (working) version of each file. If the RCS library is not defined as a symbolic link, but as a directory, then all the working versions are kept in the RCS if the option -o is not specified.

CRs (Change Requests) in the CR directory are copied to the new configuration, CRs with the states Rel or Obsolete are not copied.

Note: The command produces a file in the current directory (.rcsiniw). The file contains a list of all files and which versions that are initiated. This list must not be removed.

PARAMETERS

files

Specifies which files will be taken in the new working structure. All specified files that match values defined by options are put in the new RCS. Normally no file should be specified, which means that all files, will be taken into account.

OPTIONS

-r rev
Select the latest version of files whose number is less than or equal to rev. If rev indicates a branch rather than a version, the latest version on that branch is retrieved. If rev is $, the command determines the version number from keyword values in the working file. Otherwise, a version is composed of one or more numeric or symbolic fields separated by periods. If no option is specified the latest versions are used.

-s state
Select the latest version on the selected branch whose state is set to state.

-w login
Select the latest version on the selected branch which was checked in by the user with login name login.

-x suffixes
Select files specified by the suffixes for RCS files. A nonempty suffix matches any pathname ending in the suffix. An empty suffix matches any pathname of the form RCS/file or path/RCS/file. The -x option can specify a list of suffixes separated by /. For example, -x ,v/ specifies two suffixes: ,v and the empty suffix. If two or more suffixes are specified, they are tried in order when looking for an RCS file; the first one that works is used for that file. If no RCS file is found but an RCS file can be created, the suffixes are tried in order to determine the new RCS file's name. The default for suffixes is installation-dependent; normally it is ,v/ for hosts like Unix that permit commas in file names, and is empty (i.e. just the empty suffix) for other hosts.

-d date
Select the latest version on the selected branch whose checkin date/time is less than or equal to date. The date and time may be given in free format. The time zone LT stands for local time; other common time zone names are understood. For more detail see the co(1) command.

-o Even if the starting RCS library is not a link but a sub-directory, initiate it. If the option is omitted, the RCS directory will be kept in its original form.

-e Keep the current directory empty, i.e. do not check out the working versions of files.

-k Do not remove the versions after the selected version of each copied file, from the RCS library (RCS/file,v). The default is to only save the selected version of the file in the RCS library. Status and eventual name are set on the selected version of the file.

-nrl Do not remove eventual lock from each file, warning messages will be sent for this version of the file. The option may be useful together with -k option, when the locked version is a version that should be kept anyway. Default is to remove the lock from the file version, and remove the file version if it is not needed.

-b Create a branch for all files in the directory. The branch is created from the copied file version. Default is to create it as the first branch from the file version, if a branch already exist from this file version, a new branch is created with an incremented branch number.

The first version in the branch has the same file contents as the copied file version. The file version in the branch will have the state specified by the option -S.

The created branch is set to default, i.e. the files will be checked out and checked in to this branch by default, without giving any revision number.

-br branch_rev
Same as -b. The only difference is that all files will have the revision specified by branch_rev.

-n name
Specify a new symbolic name for all files in the new RCS library.

-S state
Specify a new state for the files in the new RCS library. Default is to set it to Unchanged.

-v List which files are copied into new RCS directory from the old RCS.

EXAMPLES

rcsiniw -r R1_0_0

copies all the file versions specified by the symbolic name R1_0_0 from the RCS library pointed by the RCS link from the current directory, creates the RCS subdirectory and stores the files in the new RCS library.

rcsiniw

takes the latest versions of all the files from the original RCS library.

rcsiniw -b -r R1_0_0
copies all the file versions specified by the symbolic name R1_0_0 from the RCS library pointed by the RCS link from the current directory, creates the RCS subdirectory and stores the files in the new RCS library. Then it creates a branch for each copied file, and sets the created branch to default for each file.

rcsiniw -br 3.1 -e
copies the latest versions of all the files from the original RCS library. Then it creates a branch for each copied file, the version of each file will be named copied_file_version.3.1. The created branch is set to default for each file.
The files will not be checked out from the RCS library.

SEE ALSO

checkin(1), checkout(1), rcs(1), s_rcsiniw(1), s_newconf(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal



NAME

rcsintro - introduction to RCS commands

DESCRIPTION

The Revision Control System (RCS) manages multiple revisions of files. RCS automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, graphics, papers, and form letters.

The basic user interface is extremely simple. The novice only needs to learn two commands: ci(1) and co(1). ci, short for check in, deposits the contents of a file into an archival file called an RCS file. An RCS file contains all revisions of a particular file. co, short for check out, retrieves revisions from an RCS file.

Functions of RCS

·
Store and retrieve multiple revisions of text. RCS saves all old revisions in a space efficient way. Changes no longer destroy the original, because the previous revisions remain accessible. Revisions can be retrieved according to ranges of revision numbers, symbolic names, dates, authors, and states.

· Maintain a complete history of changes. RCS logs all changes automatically. Besides the text of each revision, RCS stores the author, the date and time of check-in, and a log message summarizing the change. The logging makes it easy to find out what happened to a module, without having to compare source listings or having to track down colleagues.

· Resolve access conflicts. When two or more programmers wish to modify the same revision, RCS alerts the programmers and prevents one modification from corrupting the other.

· Maintain a tree of revisions. RCS can maintain separate lines of development for each module. It stores a tree structure that represents the ancestral relationships among revisions.

· Merge revisions and resolve conflicts. Two separate lines of development of a module can be coalesced by merging. If the revisions to be merged affect the same sections of code, RCS alerts the user about the overlapping changes.

· Control releases and configurations. Revisions can be assigned symbolic names and marked as released, stable, experimental, etc. With these facilities, configurations of modules can be described simply and directly.

· Automatically identify each revision with name, revision number, creation time, author, etc. The identification is like a stamp that can be embedded at an appropriate place in the text of a revision. The identification makes it simple to determine which revisions of which modules make up a given configuration.

· Minimize secondary storage. RCS needs little extra space for the revisions (only the differences). If intermediate revisions are deleted, the corresponding deltas are compressed accordingly.

Getting Started with RCS

Suppose you have a file f.c that you wish to put under control of RCS. If you have not already done so, make an RCS directory with the command

mkdir RCS

Then invoke the check-in command

ci f.c

This command creates an RCS file in the RCS directory, stores f.c into it as revision 1.1, and deletes f.c. It also asks you for a description. The description should be a synopsis of the contents of the file. All later check-in commands will ask you for a log entry, which should summarize the changes that you made.

Files in the RCS directory are called RCS files; the others are called working files. To get back the working file f.c in the previous example, use the check-out command

co f.c

This command extracts the latest revision from the RCS file and writes it into f.c. If you want to edit f.c, you must lock it as you check it out with the command

co -l f.c

You can now edit f.c.

Suppose after some editing you want to know what changes that you have made. The command

rcsdiff f.c

tells you the difference between the most recently checked-in version and the working file. You can check the file back in by invoking

ci f.c

This increments the revision number properly.

If ci complains with the message

ci-error:-no-lock -set- by- your-name

then you have tried to check in a file even though you did not lock it when you checked it out. Of course, it is too late now to do the check-out with locking, because another check-out would overwrite your modifications. Instead, invoke

rcs -l f.c

This command will lock the latest revision for you, unless somebody else got ahead of you already. In this case, you'll have to negotiate with that person.

Locking assures that you, and only you, can check in the next update, and avoids nasty problems if several people work on the same file. Even if a revision is locked, it can still be checked out for reading, compiling, etc. All that locking prevents is a check-in by anybody but the locker.

If your RCS file is private, i.e., if you are the only person who is going to deposit revisions into it, strict locking is not needed and you can turn it off. If strict locking is turned off, the owner of the RCS file need not have a lock for check-in; all others still do. Turning strict locking off and on is done with the commands

rcs---U--f.c -----and----- rcs---L--f.c

If you don't want to clutter your working directory with RCS files, create a subdirectory called RCS in your working directory, and move all your RCS files there. RCS commands will look first into that directory to find needed files. All the commands discussed above will still work, without any modification. (Actually, pairs of RCS and working files can be specified in three ways: (a) both are given, (b) only the working file is given, (c) only the RCS file is given. Both RCS and working files may have arbitrary path prefixes; RCS commands pair them up intelligently.)

To avoid the deletion of the working file during check-in (in case you want to continue editing or compiling), invoke

ci---l--f.c -----or----- ci---u--f.c

These commands check in f.c as usual, but perform an implicit check-out. The first form also locks the checked in revision, the second one doesn't. Thus, these options save you one check-out operation. The first form is useful if you want to continue editing, the second one if you just want to read the file. Both update the identification markers in your working file (see below).

You can give ci the number you want assigned to a checked in revision. Assume all your revisions were numbered 1.1, 1.2, 1.3, etc., and you would like to start release 2. The command

ci---r2--f.c -----or----- ci---r2.1--f.c

assigns the number 2.1 to the new revision. From then on, ci will number the subsequent revisions with 2.2, 2.3, etc. The corresponding co commands

co---r2--f.c----- and -----co---r2.1--f.c

retrieve the latest revision numbered 2.x and the revision 2.1, respectively. co without a revision number selects the latest revision on the trunk, i.e. the highest revision with a number consisting of two fields. Numbers with more than two fields are needed for branches. For example, to start a branch at revision 1.3, invoke

ci -r1.3.1 f.c

This command starts a branch numbered 1 at revision 1.3, and assigns the number 1.3.1.1 to the new revision. For more information about branches, see rcsfile(5).

Automatic Identification

RCS can put special strings for identification into your source and object code. To obtain such identification, place the marker

$Id$

into your text, for instance inside a comment. RCS will replace this marker with a string of the form

$Id:--filename--revision--date--time--author--state--$

With such a marker on the first page of each module, you can always see with which revision you are working. RCS keeps the markers up to date automatically. To propagate the markers into your object code, simply put them into literal character strings. In C, this is done as follows:

static char rcsid[] = "$Id$";

The command ident extracts such markers from any file, even object code and dumps. Thus, ident lets you find out which revisions of which modules were used in a given program.

You may also find it useful to put the marker $Log$ into your text, inside a comment. This marker accumulates the log messages that are requested during check-in. Thus, you can maintain the complete history of your file directly inside it. There are several additional identification markers; see co(1) for details.

IDENTIFICATION

Author: Walter F. Tichy.
Manual Page Revision: 1.5; Release Date: 1996/10/08.
Copyright © 1982, 1988, 1989 Walter F. Tichy.
Copyright © 1990, 1991, 1992, 1993 Paul Eggert.

SEE ALSO

ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1)
Walter F. Tichy, RCS -- A System for Version Control, Software--Practice & Experience 15, 7 (July 1985), 637-654.


NAME

rcsmerge - merge RCS revisions

SYNOPSIS

rcsmerge [options]-file

DESCRIPTION

rcsmerge incorporates the changes between two revisions of an RCSfile into the corresponding working file.

Pathnames matching an RCSsuffix denote RCSfiles; all others denote working files. Names are paired as explained in ci(1).

At least one revision must be specified with one of the options described below, usually -r. At most two revisions may be specified. If only one revision is specified, the latest revision on the default branch (normally the highest branch on the trunk) is assumed for the second revision. Revisions may be specified numerically or symbolically.

rcsmerge prints a warning if there are overlaps, and delimits the overlapping regions as explained in merge(1). The command is useful for incorporating changes into a checked-out revision.

OPTIONS

-A
Output conflicts using the -A style of diff3(1), if supported by diff3. This merges all changes leading from file2 to file3 into file1, and generates the most verbose output.

-E, -e
These options specify conflict styles that generate less information than -A. See diff3(1) for details. The default is -E. With -e, rcsmerge does not warn about conflicts.

-ksubst
Use subst style keyword substitution. See co(1) for details. For example, -kk- -r1.1 --r1.2 ignores differences in keyword values when merging the changes from 1.1 to 1.2. It normally does not make sense to merge binary files as if they were text, so rcsmerge refuses to merge files if -kb expansion is used.

-p[rev]
Send the result to standard output instead of overwriting the working file.

-q[rev]
Run quietly; do not print diagnostics.

-r[rev]
Merge with respect to revision rev. Here an empty rev stands for the latest revision on the default branch, normally the head.

-T This option has no effect; it is present for compatibility with other RCScommands.

-V Print RCS's version number.

-Vn Emulate RCS version n. See co(1) for details.

-xsuffixes
Use suffixes to characterize RCS files. See ci(1) for details.

-zzone
Use zone as the time zone for keyword substitution. See co(1) for details.

EXAMPLES

Suppose you have released revision 2.8 of f.c. Assume furthermore that after you complete an unreleased revision 3.4, you receive updates to release 2.8 from someone else. To combine the updates to 2.8 and your changes between 2.8 and 3.4, put the updates to 2.8 into file f.c and execute

rcsmerge -p -r2.8 -r3.4 f.c >f.merged.c

Then examine f.merged.c. Alternatively, if you want to save the updates to 2.8 in the RCS file, check them in as revision 2.8.1.1 and execute co--j:

ci -r2.8.1.1 f.c
co -r3.4 -j2.8:2.8.1.1 f.c

As another example, the following command undoes the changes between revision 2.4 and 2.8 in your currently checked out revision in f.c.

rcsmerge -r2.8 -r2.4 f.c

Note the order of the arguments, and that f.c will be overwritten.

ENVIRONMENT

RCSINIT
options prepended to the argument list, separated by spaces. See ci(1) for details.

DIAGNOSTICS

Exit status is 0 for no overlaps, 1 for some overlaps, 2 for trouble.

IDENTIFICATION

Author: Walter F. Tichy.
Manual Page Revision: 1.5; Release Date: 1996/10/08..
Copyright © 1982, 1988, 1989 Walter F. Tichy.
Copyright © 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.

SEE ALSO

ci(1), co(1), ident(1), merge(1), rcs(1), rcsdiff(1), rcsintro(1), rlog(1), rcsfile(5)
Walter F. Tichy, RCS -A System for Version Control, Software-sPractice & Experience 15, 7 (July 1985), 637-654.

NAME

rcsname - define a symbolic name for a version of a RCS file

SYNOPSIS

rcsname [options] name [files]

DESCRIPTION


The command rcsname defines symbolic names for a version of a RCS file. Each version of a file may have several symbolic names, but two versions of the same file can not have the same symbolic name.

PARAMETERS

name[:[rev]]
Associate the symbolic name name with the branch or version rev. Print an error message if name is already associated with another number. Delete the symbolic name if -r is specified and both : and rev are omitted. If rev is symbolic, it is expanded before association. A rev consisting of a branch number followed by a "."stands for the current latest version in the branch. A : with an empty rev stands for the current latest version on the default branch, normally the trunk. That is also the case if just a name is specified.

files Specifies files which attribututes should be changed. If no file is specified then all the files placed in the RCS library are looked for, i.e. the default value for files is RCS/*.

OPTIONS

-q
Quiet mode. Diagnostics are not printed.

-N Override any previous assignment of name.

-r Remove symbolic name associated with a branch or version.

-s state
Write symbolic names on the latest versions that have a status state.

-S If the latest version of the file has the state Obsolete, do not set name.

-g grp
Change attributes for all files belonging to the group grp.

-x suffixes
Use suffixes to characterize RCS files. See checkin for details.

EXAMPLES

rcsname R2_0_0:

defines the symbolic name R2_0_0 to the latest versions of files.

rcsname -s Stable,Unchanged -S R3_01

defines the symbilic name R3_0_1 to the files having the state Stable or Unchanged but all files which latest versions have the state Obsolete.

SEE ALSO

s_rcsname(1), rcs(1)

AUTHOR

Ivica Crnkovic, Marco Mohle

NAME

rcsp - delete versions of a file in a RCS library.

SYNOPSIS

rcsp [options] files

DESCRIPTION


The command rcsp deletes versions of a file placed in a RCS library.

PARAMETERS

files
Specifies files which versions should be deleted. A file must be specified.

OPTIONS

-q
Quiet mode. Diagnostics are not printed.

-rrange

Delete the versions given by range. A range of the form rev1:rev2 means the versions between rev1 to rev2 on the same branch, :rev means from the beginning of the branch containing rev up to rev, and rev: means from version rev to the end of the branch. None of the outdated versions may have locks.

-xsuffixes

Select files specified by the suffixes for RCS files. A nonempty suffix matches any pathname ending in the suffix. An empty suffix matches any pathname of the form RCS/file or path/RCS/file. The -x option can specify a list of suffixes separated by /. For example, -x ,v/ specifies two suffixes: ,v and the empty suffix. If two or more suffixes are specified, they are tried in order when looking for an RCS file; the first one that works is used for that file. If no RCS file is found but an RCS file can be created, the suffixes are tried in order to determine the new RCS file's name. The default for suffixes is installation-dependent; normally it is ,v/ for hosts like Unix that permit commas in file names, and is empty (i.e. just the empty suffix) for other hosts.

EXAMPLES

rcsp -r:1.5 file1

deletes all the versions of file1 up to the 1.5 version (not including the 1.5 version).

rcsp -r1.1:1.5 file1

deletes all versions between 1.1 and 1.5 of file1.

rcsp -rR1_0:R2_0 RCS/*,v

deletes all versions between R1_0 and R2_0 of all files in the RCS library in the current directory.

SEE ALSO

rcs(1), rcspurge(1)

AUTHOR

Elisabet de Waal

NAME

rcspurge - delete versions of a file in a RCS library.

SYNOPSIS

rcspurge [options] [files]

DESCRIPTION


The command rcspurge deletes versions of a file placed in a RCS library.

PARAMETERS

files
Specifies files which versions should be deleted. If no file is specified then all the files in the RCS library are taken, i.e. the default value is RCS/*.

OPTIONS

-q
Quiet mode. Diagnostics are not printed.

-ggrp
Purge versions of all files belonging to the group grp.

-rrange

Delete the versions given by range. A range of the form rev1:rev2 means the versions between rev1 to rev2 on the same branch, :rev means from the beginning of the branch containing rev up to rev, and rev: means from version rev to the end of the branch. None of the outdated versions may have locks. If neither -r, -o, -kr nor -ks is specified then the latest version of a file is kept.

-orange

Delete the versions given by range. Normally this option can be used to delete a specified version. If a range is specified, note that also the specified versions are deleted. None of the outdated versions may have locks. If neither -r, -o, -kr nor -ks is specified then the latest version of a file is kept.

-l Purge the files from the RCS even if the RCS library is defined as a symbolic link. By default, if a RCS library is defined as a symbolic link, it will not be purged.

-krrev

Delete all the versions but that one specified by rev.
Note, if rev is a version in a branch, only other versions in this branch will be removed. All other branches, and the main trunk will be kept as before.

-ksstate

Delete all the versions but those that have the state status. If more than one status should be kept, state is a list of statuses, separated by commas.

-xsuffixes

Select files specified by the suffixes for RCS files. A nonempty suffix matches any pathname ending in the suffix. An empty suffix matches any pathname of the form RCS/file or path/RCS/file. The -x option can specify a list of suffixes separated by /. For example, -x ,v/ specifies two suffixes: ,v and the empty suffix. If two or more suffixes are specified, they are tried in order when looking for an RCS file; the first one that works is used for that file. If no RCS file is found but an RCS file can be created, the suffixes are tried in order to determine the new RCS file's name. The default for suffixes is installation-dependent; normally it is ,v/ for hosts like Unix that permit commas in file names, and is empty (i.e. just the empty suffix) for other hosts.

EXAMPLES

rcspurge -r:1.5 file1

deletes all the versions of file1 up to the 1.5 version (not including the 1.5 version).

rcspurge -r1.1:1.5 file1

deletes all versions between 1.1 and 1.5 of file1.

rcspurge -o1.1 file1

delete version 1.1 of file1.

rcspurge -rR1_0:R2_0

deletes all versions between R1_0 and R2_0 of all files in the RCS library in the current directory.

SEE ALSO

s_rcspurge(1), rcs(1), rcsp(1)

AUTHOR

Ivica Crnkovic, Marco Mohle

NAME

rcsstate - define status for a version of a RCS file

SYNOPSIS

rcsstate [options] state [files]

DESCRIPTION


The command rcsstate defines a status for a version of a RCS file. Each version of a RCS file has a defined status. Several versions may have the same status.

PARAMETERS

state[:rev]
Set the state attribute of the version rev to state . If rev is a branch number, assume the latest version on that branch. If rev is omitted, assume the latest version on the default branch. Any symbolic name of a rev is acceptable for state. A useful set of states is Unchanged (starting status) Exp (for experimental), Stable (for stable), Rel (for released), and Obsolete (for not used). By default, ci(1) sets the state of a version to Exp.

files Specifies files which attribututes should be changed. If no file is specified then all the files placed in the RCS library are looked for, i.e. the default value for files is RCS/*.

OPTIONS

-q
Quiet mode. Diagnostics are not printed.

-g grp
Change attributes for all files belonging to the group grp.

-x suffixes
Use suffixes to characterize RCS files. See checkin for details.

EXAMPLES

rcsstate Stable:R2_0_0

defines the status Stable to file versions named R2_0_0.

SEE ALSO

s_rcsstate(1), rcs(1)

AUTHOR

Ivica Crnkovic, Marco Mohle

NAME

rhpterm, rdtterm, rxterm - Create a hpterm, dtterm or xterm window to a remote host

SYNOPSIS

rhpterm host ... [ hpterm-options ]

rdtterm host ... [ dtterm-options ]

rxterm host ... [ xterm-options ]

DESCRIPTION

The command rhpterm connects to the specified host using the remsh command and starts a hpterm window on the remote host displaying on the users display.

The command rdtterm has similar a function but starts an dtterm window instead of a hpterm window.

The command rxterm has a similar function but starts an xterm window instead of a hpterm window.

Before connecting to the remote hosts access to the display is granted using xhost

rhpterm, rdtterm and rxterm use the environment variable DISPLAY to determine which X server to use. If DISPLAY is not defined, the user is prompted for the display to use.

The remote hpterm, dtterm or xterm process creates a login shell (meaning that /etc/profile and the users .profile are executed when the shell starts).

PARAMETERS

host ...
specifies one or more hosts on which to create a hpterm, dtterm or xterm process.

OPTIONS

hpterm-options
Options to the hpterm command (see hpterm(1)).

dterm-options
Options to the dterm command (see dterm(1)).

xterm-options
Options to the xterm command (see xterm(1)).

EXAMPLES

rhpterm hphost69

SEE ALSO

remsh(1), hosts.equiv(4), hpterm(1), dtterm(1), xterm(1), xhost(1)

AUTHOR

Bo Forsberg, Elisabet de Waal

NAME

rentree - renames a directory tree

SYNOPSIS

rentree [-i] [-v] [-d] [-l] path old_name new_name

DESCRIPTION


The rentree command renames a directory tree. The directories and symbolic links in the directory tree containing old_name are renamed to new_name. The command may, for example, be used when a system configuration have been renamed, and it is necessary to change its links in a project. In this case all users may use the command.

PARAMETERS

path
is the path of the tree to be modified.

OPTIONS

-v
"verbose": shows the files and directories that are processed by the command.

-i asks for each file and directory in the tree if it should be processed.

-d rename only directories, no symbolic links

-l rename only symbolic links, no directories

EXAMPLES

rentree . 1.0-0p1 1.0-0

renames all directories and symbolic links containing 1.0-0p1 to 1.0-0 in the directory tree, starting from the current directory

SEE ALSO

chmod(1), chown(1), chgrp(1)

AUTHOR

Elisabet de Waal

NAME

rhpterm, rdtterm, rxterm - Create a hpterm, dtterm or xterm window to a remote host

SYNOPSIS

rhpterm host ... [ hpterm-options ]

rdtterm host ... [ dtterm-options ]

rxterm host ... [ xterm-options ]

DESCRIPTION

The command rhpterm connects to the specified host using the remsh command and starts a hpterm window on the remote host displaying on the users display.

The command rdtterm has similar a function but starts an dtterm window instead of a hpterm window.

The command rxterm has a similar function but starts an xterm window instead of a hpterm window.

Before connecting to the remote hosts access to the display is granted using xhost

rhpterm, rdtterm and rxterm use the environment variable DISPLAY to determine which X server to use. If DISPLAY is not defined, the user is prompted for the display to use.

The remote hpterm, dtterm or xterm process creates a login shell (meaning that /etc/profile and the users .profile are executed when the shell starts).

PARAMETERS

host ...
specifies one or more hosts on which to create a hpterm, dtterm or xterm process.

OPTIONS

hpterm-options
Options to the hpterm command (see hpterm(1)).

dterm-options
Options to the dterm command (see dterm(1)).

xterm-options
Options to the xterm command (see xterm(1)).

EXAMPLES

rhpterm hphost69

SEE ALSO

remsh(1), hosts.equiv(4), hpterm(1), dtterm(1), xterm(1), xhost(1)

AUTHOR

Bo Forsberg, Elisabet de Waal


NAME

rlog - print log messages and other information about RCS files

SYNOPSIS

rlog [-options-]-file-.-.-.

DESCRIPTION

rlog prints information about RCS files.

Pathnames matching an RCS suffix denote RCS files; all others denote working files. Names are paired as explained in ci(1).

rlog prints the following information for each RCS file: RCS pathname, working pathname, head (i.e., the number of the latest revision on the trunk), default branch, access list, locks, symbolic names, suffix, total number of revisions, number of revisions selected for printing, and descriptive text. This is followed by entries for the selected revisions in reverse chronological order for each branch. For each revision, rlog prints revision number, author, date/time, state, number of lines added/deleted (with respect to the previous revision), locker of the revision (if any), and log message. All times are displayed in Coordinated Universal Time (UTCý-) by default; this can be overridden with -z. Without options, rlog prints complete information. The options below restrict this output.
.nr "n" "\w-Vn'+2n-1/1n"

-L Ignore RCS files that have no locks set. This is convenient in combination with -h, -l, and -R.

-R Print only the name of the RCS file. This is convenient for translating a working pathname into an RCS pathname.

-h Print only the RCS pathname, working pathname, head, default branch, access list, locks, symbolic names, and suffix.

-t Print the same as -h, plus the descriptive text.

-N Do not print the symbolic names.

-b Print information about the revisions on the default branch, normally the highest branch on the trunk.

-ddates
Print information about revisions with a checkin date/time in the ranges given by the semicolon-separated list of dates. A range of the form d1<d2 or d2>d1 selects the revisions that were deposited between d1 and d2 exclusive. A range of the form <d or d> selects all revisions earlier than d. A range of the form d< or >d selects all revisions dated later than d. If < or > is followed by = then the ranges are inclusive, not exclusive. A range of the form d selects the single, latest revision dated d or earlier. The date/time strings d, d1, and d2 are in the free format explained in co(1). Quoting is normally necessary, especially for < and >. Note that the separator is a semicolon.

-l[lockers]
Print information about locked revisions only. In addition, if the comma-separated list lockers of login names is given, ignore all locks other than those held by the lockers. For example, rlog--L--R--lwft-RCS/* prints the name of RCS files locked by the user wft.

-r[revisions]
prints information about revisions given in the comma-separated list revisions of revisions and ranges. A range rev1:rev2 means revisions rev1 to rev2 on the same branch, :rev means revisions from the beginning of the branch up to and including rev, and rev: means revisions starting with rev to the end of the branch containing rev. An argument that is a branch means all revisions on that branch. A range of branches means all revisions on the branches in that range. A branch followed by a . means the latest revision in that branch. A bare -r with no revisions means the latest revision on the default branch, normally the trunk.

-sstates
prints information about revisions whose state attributes match one of the states given in the comma-separated list states.

-w[logins]
prints information about revisions checked in by users with login names appearing in the comma-separated list logins. If logins is omitted, the user's login is assumed.

-T This option has no effect; it is present for compatibility with other RCS commands.

-V Print RCS's version number.

-Vn Emulate RCS version n when generating logs. See co(1) for more.

-xsuffixes
Use suffixes to characterize RCS files. See ci(1) for details.

rlog prints the intersection of the revisions selected with the options -d, -l, -s, and -w, intersected with the union of the revisions selected by -b and -r.

-zzone
specifies the date output format, and specifies the default time zone for date in the -ddates option. The zone should be empty, a numeric UTCelow@ý- offset, or the special string LT for local time. The default is an empty zone, which uses the traditional RCS format of UTC without any time zone indication and with slashes separating the parts of the date; otherwise, times are output in 8601 format with time zone indication. For example, if local time is January 11, 1990, 8pm Pacific Standard Time, eight hours west of UTCý-, then the time is output as follows:


option time output
-z 1990/01/12 04:00:00 (default)
-z LT 1990-01-11 20:00:00-08
-z +05:30
1990-01-12 09:30:00+05:30

EXAMPLES

rlog -L -R RCS/*
rlog -L -h RCS/*
rlog -L -l RCS/*
rlog RCS/*

The first command prints the names of all RCS files in the subdirectory RCS that have locks. The second command prints the headers of those files, and the third prints the headers plus the log messages of the locked revisions. The last command prints complete information.

ENVIRONMENT

RCSINIT
options prepended to the argument list, separated by spaces. See ci(1) for details.

DIAGNOSTICS

The exit status is zero if and only if all operations were successful.

IDENTIFICATION

Author: Walter F. Tichy.
Manual Page Revision: 1.5; Release Date: 1996/10/08.
Copyright © 1982, 1988, 1989 Walter F. Tichy.
Copyright © 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.

SEE ALSO

ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rcsfile(5)
Walter F. Tichy, RCS-A System for Version Control, Software-Practice & Experience 15, 7 (July 1985), 637-654.

BUGS

The separator for revision ranges in the -r option used to be - instead of :, but this leads to confusion when symbolic names contain -. For backwards compatibility rlog -r still supports the old - separator, but it warns about this obsolete use.

NAME

rhpterm, rdtterm, rxterm - Create a hpterm, dtterm or xterm window to a remote host

SYNOPSIS

rhpterm host ... [ hpterm-options ]

rdtterm host ... [ dtterm-options ]

rxterm host ... [ xterm-options ]

DESCRIPTION

The command rhpterm connects to the specified host using the remsh command and starts a hpterm window on the remote host displaying on the users display.

The command rdtterm has similar a function but starts an dtterm window instead of a hpterm window.

The command rxterm has a similar function but starts an xterm window instead of a hpterm window.

Before connecting to the remote hosts access to the display is granted using xhost

rhpterm, rdtterm and rxterm use the environment variable DISPLAY to determine which X server to use. If DISPLAY is not defined, the user is prompted for the display to use.

The remote hpterm, dtterm or xterm process creates a login shell (meaning that /etc/profile and the users .profile are executed when the shell starts).

PARAMETERS

host ...
specifies one or more hosts on which to create a hpterm, dtterm or xterm process.

OPTIONS

hpterm-options
Options to the hpterm command (see hpterm(1)).

dterm-options
Options to the dterm command (see dterm(1)).

xterm-options
Options to the xterm command (see xterm(1)).

EXAMPLES

rhpterm hphost69

SEE ALSO

remsh(1), hosts.equiv(4), hpterm(1), dtterm(1), xterm(1), xhost(1)

AUTHOR

Bo Forsberg, Elisabet de Waal

NAME

system build - build a system configuration or a part of it.

SYNOPSIS

system build [options] system_path [parameters to make]

DESCRIPTION


The command goes through the directory tree specified by the system_path, and executes make in each subsystem. If Makefile is not found in a subsystem it is checked out from the subsystem's RCS library, unless option -x is used. By default "make" is invoked. SDE supplies Gnu make, so if the PATH is defined as suggested by SDE, Gnu make will be invoked by default.

PARAMETERS

system_path
Specifies a system configuration or a subsystem in a system configuration as a path relative to /ipa/systems.

parameters to make
Typically, this is the name(s) of the action(s) in the makefile that are to be executed. If the -x option is used, this can be any parameters to the specified command or script.

OPTIONS

Any option valid for make may be specified.

-f makefile
Specifies a makefile name to use instead of "Makefile".

-i Ask for each subsystem if it should be built.

-m make
Invoke the specified make instead of "make".

-up Build starting from the bottom subsystems up to the root of the configuration. The default direction is down, i.e. from the configuration root down to the bottom.

-x executable_file
Invoke the specified file instead of "make".

EXAMPLES

system build system1/R1_0_0

builds the R1_0_0 configuration using make (=Gnu make if the PATH is defined as suggested by SDE). In each directory, the file Makefile is used. If Makefile is missing in any directory, an attempt to check it out from the RCS library in that directory is made.

system build -m emake -f mymake system1/R1_0_0

builds the R1_0_0 configuration using emake and the makefile mymake. In each directory, the file mymake is used. If the file mymake is missing in any directory, an attempt to check it out from the RCS library in that directory is made.

WARNINGS

system build builds the different subsystems in the order they appear in the directory tree. This order may be incorrect if one subsystem depends on generated files in another subsystem. Therefore, we recommend that you do not use system build but instead build the system using a makefile located in the system's configuration directory, which calls make for the subsystems in the order defined in that makefile.

SEE ALSO

traverse(1), system(1), make(1)

AUTHOR

Ivica Crnkovic, Mats Medin

NAME

system chmanager - change the manager of a system

SYNOPSIS

system chmanager system_name new_userid [new_groupid]

DESCRIPTION

The command system chmanager changes the manager of system_name to new_userid. The ownership of the files and directories in the system structure is changed, and the overview file is updated with information from the passwd file entry for the new manager.
If a new groupid is specified, that groupid is also used in the ownership change. If no groupid is specified, the login group of the specified userid is used.

DIRECTORIES

/ipa/systems

EXAMPLES

system chmanager systemA joejohns

changes systemA to be managed by joejohns in his login group.

system chmanager BaseSystem annec basesys

changes BaseSystem to be managed by annec in group basesys.

DIAGNOSTICS

Only the user who is listed as system manager in the overview file is allowed to change system manager. For other users, system chmanager will exit with an error message.

WARNINGS

If the user who is listed as system manager in the overview file does not have permissions to change the ownership of all files in the system, the ownership will be changed only for those files he/she does have permission for. For other files, error messages will be issued. If this happens, ask the user who owns the file(s) to transfer the ownership manually using chown.

SEE ALSO

system(1), rentree(1), chown(1), chgrp(1)

AUTHOR

Mats Medin

NAME

system combine - Copies selected versions of RCS files from one system configuration to the original one.

SYNOPSIS

system combine [options] system_path [dest_config]

DESCRIPTION


The system combine command checks out specified versions of files placed in RCS libraries in a system configuration or a part of it and checks in these versions, with the same revision number, into the RCS libraries of the parent system configuration. After the files are combined into the original libraries, the RCS directories in the specified system configuration are removed and links to the RCS libraries in the parent configuration are created. If a subsystem exists only in the new configuration, it is kept there, but it is initialised, i.e. only one version of the files are left.

The command system info -r shows the parent configuration.

If the configuration should be combined into another configuration than the parent one, use the parameter dest_config.

The command system info -R shows which RCS libraries are defined as links and which are defined as directories.

Files with status Unchanged are not copied to the destination directory.

RCS libraries that are defined as links to other configurations are, by default, not processed for combining.

By default, the latest versions of all files are taken.

Before a configuration can be combined, it must be checked. The command starts with check of the configuration. Together with the option -a the command also does combine the configuration, not only checks it.

If -b option is used, every selected file will be combined into a file branch in the destination RCS libraries. The file branch will be created from the version copied when creating the work directory.

The CR directory (including Change Requests) is kept as is, CRs with the state Rel get the symbolic name specified with the -n option.

PARAMETERS

system_path
Specifies a system configuration or a subsystem in a system configuration as a top of the directory structure that will be processed.

dest_config
If specified this configuration is used as destination instead of the parent configuration.

OPTIONS

-r rev
Select the latest version of files whose number is less than or equal to rev. If rev indicates a branch rather than a version, the latest version on that branch is retrieved. If -r rev is omitted, the latest version on the default branch is retrieved. If rev is $, the command determines the version number from keyword values in the working file. Otherwise, a version is composed of one or more numeric or symbolic fields separated by periods.

-s state
Select the latest version on the selected branch whose state is set to state.

-w login
Select the latest version on the selected branch which was checked in by the user with login name login.

-x suffixes
Select files specified by the suffixes for RCS files. A nonempty suffix matches any pathname ending in the suffix. An empty suffix matches any pathname of the form RCS/file or path/RCS/file. The -x option can specify a list of suffixes separated by /. For example, -x ,v/ specifies two suffixes: ,v and the empty suffix. If two or more suffixes are specified, they are tried in order when looking for an RCS file; the first one that works is used for that file. If no RCS file is found but an RCS file can be created, the suffixes are tried in order to determine the new RCS file's name. The default for suffixes is installation-dependent; normally it is ,v/ for hosts like Unix that permit commas in file names, and is empty (i.e. just the empty suffix) for other hosts.

-d date
Select the latest version on the selected branch whose checkin date/time is less than or equal to date. The date and time may be given in free format. The time zone LT stands for local time; other common time zone names are understood. For more detail see the co(1) command.

-nt Apply the command on only the specified directory, instead of the complete directory tree, starting from the system_path specified.

-i Ask for each subsystem if it should be initiated or not.

-nm Keep the RCS source directory and no not create a link to the destination directory. Default is to delete the RCS source directory and to create a link to the destination directory.

-n name
Specify a new symbolic name for all files in the new RCS library.

-S state
Specify a new state for the files in the new RCS library.

-M message
Specify a log message for the files checked in into the new RCS library. By default message is set to "Combined version".

-a Do an "action" on the configuration, combine the RCS libraries. If not specified only check if the configuration can be combined is done. The default is to do only check of the configuration.

-b Create a branch for each selected file when combining it into the RCS_dest library. Files with status Unchanged will also be copied into a branch in the destination RCS library.

-v List which files are copied into new RCS directory from the old RCS.

-f Forces combining of a version, even if warnings are got during the check step. Only file versions which do not have later versions in the file can be combined. For example, a file with version 1.3 can be combined only if the file version in the destination directory is 1.2 or lower.

EXAMPLES

system combine -a -r R2_0_0 sys1/R2_0_0

copies all the file versions specified by the symbolic name R2_0_0 from the system configuration R2_0_0 to the parent system configuration. The command starts with check of the configuration.

system combine -a -r R2_0_0 -b sys1/R2_0_0

copies all the file versions specified by the symbolic name R2_0_0 from the system configuration R2_0_0 to the parent system configuration, and creates a branch for each copied file in the parent RCS libraries. The command starts with check of the configuration.

SEE ALSO

ci(1), co(1), rcs(1), rcscomb(1), s_info(1), checkcomb(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

system create - create a new system

SYNOPSIS

system create [-f] [system] ["system_description"] [ ] [configuration] [system_manager_userid] ["system_manager_name"] [system_directory]

DESCRIPTION

The system create command creates a new system named system. To create a new system means the following:
Create a directory system_directory. The default value of the directory is the name of the system placed in the root directory for the systems. The root directory for systems is defined by the SDE_SYSTEMS environment variable and the default value is /ipa/systems.
Create the directories configuration and master in the system directory. In the configuration directory create the RCS library.
Create the file overview in the master directory and add the following information:

system.name:
system.description:
system.manager.name:
system.manager.userid:

The format follows the X resource managers database format.

In the master directory create the Change Request directory named
cr/RCS.

PARAMETERS

system
Name of the system to be created.

system description
One line description of the system

configuration
Name of the first configuration of the system.

system_manager_userid
User id of the person responsible for the system. The default value is the current user id.

system_manager_name
Name of the system manager. The default value is taken from the /etc/passwd file.

system_directory
The directory where the system will be placed. The directory will be created.

OPTIONS

-f
Execute the command directly without asking for parameters.

EXAMPLES

$ system create
System name (default=ex_system) : ex_system
System configuration (default=1.0-0) : 1.0-0
System description : System example
System manager userid (default=icrnkovi) :
System manager [First name and last name]

(default=Ivica Crnkovic,AUT/KMS,42823) :


System directory (default=/ipa/systems/ex_system) : /aut/km/ex_system

System name : ex_system
Description : System example
Configuration : 1.1-0
System manager id : icrnkovi
System manager : Ivica Crnkovic,AUT/KMS,42823
System directory : /aut/km/ex_system

Are data correct[y/n/q] (default=y) : y

Directory /aut/km/ex_system created
Directory /aut/km/ex_system/master is created
Directory /aut/km/ex_system/1.1-0 is created
Directory /aut/km/ex_system/1.1-0/RCS is created
File /aut/km/ex_system/master/overview is created
Link /ipa/systems/ex_system -> /aut/km/ex_system is created

System create ex_system completed

FILES

/ipa/systems/system/master/overview

DIRECTORIES

/ipa/systems/system
/ipa/systems/system/master
/ipa/systems/system/configuration
/ipa/systems/system/configuration/RCS

EXTERNAL INFLUENCES

SDE_SYSTEMS environment variable defines the root directory for SDE systems. The default value is /ipa/systems.

SEE ALSO

X(1)

AUTHOR

Ivica Crnkovic

NAME

system delete - delete a system or a subsystem

SYNOPSIS

system delete [-i] [-f] [-F] [system_path]

DESCRIPTION

The system delete command deletes a system structure or a part of it. Only the system manager or a root user may delete a system.

PARAMETERS

system_path
The name of the system, or a system path definition of a system part.

OPTIONS

-i[nquire]
Ask for each file of it should be deleted or not.

-f Execute the command directly without asking for parameters.

-F If a system configuration has a child configuration, by default it is not allowed to change it (like add or remove a subsystem). The -F option allows to delete a subsystem or even the entire configuration. Note, when you delete an old configuration the history information as well as the CRs for the removed configuration will be kept in the system.

EXAMPLES

$ system delete
System name : ex_system/1.0-0/ex_sub
Do you really want to delete the system ex_system/1.0-0/ex_sub? (y/n) : y

Removing system files at /ipa/systems/ex_system/1.0-0/ex_sub...

System ex_system/1.0-0/ex_sub is deleted.

DIRECTORIES

/ipa/systems/system

SEE ALSO

s_create(1)

AUTHOR

Ivica Crnkovic

NAME

system establish - Establish a system configuration.

SYNOPSIS

system establish [options] system_path [dest_config]

DESCRIPTION


The system establish command combines the RCS libraries to the RCS libraries in the parent configuration. Optionally it removes all the working versions of files from the RCS libraries. It also defines a status and a symbolic name for the files kept in the library. By default also the read only access is defined for the complete system configuration structure.

RCS libraries that are defined as links to other configurations are not processed.

The command system info -r shows the parent configuration.

If the configuration should be combined into another configuration than the parent one, use the parameter dest_config.

The command system info -R shows which RCS libraries that are defined as links and which are defined as directories.

Before a configuration can be combined, it must be checked. The command starts with check of the configuration. Together with the option -a the command also does combine the configuration, not only checks it.

If -b option is used, every selected file will be combined into a file branch in the destination RCS libraries. The file branch will be created from the version copied when creating the work directory.

The CR directory (including Change Requests) is kept as is, CRs with the state Rel get the symbolic name specified with the -n option, or the default name if the -n option is not specified.

PARAMETERS

system_path
Specifies a system configuration or a subsystem in a system configuration as a top of a directory structure which will be established.

dest_config
If specified this configuration is used as destination instead of the parent configuration.

OPTIONS

-r rev
Select the latest version of files whose number is less than or equal to rev. If rev indicates a branch rather than a version, the latest version on that branch is retrieved. If -r rev is omitted, the latest version on the default branch is retrieved. If rev is $, the command determines the version number from keyword values in the working file. Otherwise, a version is composed of one or more numeric or symbolic fields separated by periods.

-s state
Select the latest version on the selected branch whose state is set to state.

-w login
Select the latest version on the selected branch which was checked in by the user with login name login.

-x suffixes
Select files specified by the suffixes for RCS files. A nonempty suffix matches any pathname ending in the suffix. An empty suffix matches any pathname of the form RCS/file or path/RCS/file. The -x option can specify a list of suffixes separated by /. For example, -x ,v/ specifies two suffixes: ,v and the empty suffix. If two or more suffixes are specified, they are tried in order when looking for an RCS file; the first one that works is used for that file. If no RCS file is found but an RCS file can be created, the suffixes are tried in order to determine the new RCS file's name. The default for suffixes is installation-dependent; normally it is ,v/ for hosts like Unix that permit commas in file names, and is empty (i.e. just the empty suffix) for other hosts.

-d date
Select the latest version on the selected branch whose checkin date/time is less than or equal to date. The date and time may be given in free format. The time zone LT stands for local time; other common time zone names are understood. For more detail see the co(1) command.

-a Do an "action" on the configuration, either combine the RCS libraries or keep them. If not specified, only check if the configuration can be combined. The default, is to do only check of the configuration.

-k Keep the RCS directories, remove all working versions.

-K This only works together with -k. Do not remove the versions after the selected version of each copied file, from the RCS library (RCS/file,v). The default is to only save the selected version of the file in the RCS library. Status and eventual name are set on the selected version of the file.

-nrl This only works together with -k. Do not remove eventual lock from each file, warning messages will be sent for this version of the file. The option may be useful together with -k option, when the locked version is a version that should be kept anyway. Default is to remove the lock from the file version, and remove the file version if it is not needed.

-nt Apply the command on only the specified directory, instead of the complete directory tree, starting from the system_path specified.

-i Ask for each subsystem if it should be combined or not.

-n name
Specify a new symbolic name for all files in the new RCS library. By default name is defined from the configuration name (example: configuration 1.0-0. The name is R1_0_0).

-c cmode
Set read-write-execute access on the structure. By default the "g-w" (group have no write acess) access is defined.

-S state
Specify a new state for the files in the new RCS library. By default, state is defined to "Rel".

-M message
Specify a log message for the files checked in into the new RCS library. By default, message is defined to "Released version".

-b Create a branch for each selected file when combining it into the RCS_dest library. Files with status Unchanged will also be copied into a branch in the destination RCS library.

-v List which files are processed.

-f Forces combining of a version, even if warnings are got during the check step. Only file versions which do not have later versions in the file can be combined. For example, a file with version 1.3 can be combined only if the file version in the destination directory is 1.2 or lower.

EXAMPLES

system establish -a -r R2_0_0 sys1/R2_0_0

copies all the file versions specified by the symbolic name R2_0_0 from the system configuration R2_0_0 to the parent system configuration.

SEE ALSO

ci(1), co(1), rcs(1), s_combine(1), s_rcsiniw(1), s_info(1), checkcomb(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

system info - provide information about systems

SYNOPSIS

system info [options ] [system_path ]

DESCRIPTION


The system info command displays information about systems. Wild card specification proceeded by backslash (\*) is allowed.

PARAMETERS

system_path
The system name or a path of a part of a system

OPTIONS

-d[irectory]
Lists the system directory

-l[ibrary]
Shows the contents of the system library

-r[el]
Shows the system configurations (releases)

-o[verview]
Lists the project overview file

-f[ull]
Gives complete information about project(s) i.e the options -o -r -l -d will be used.

-s[ubsystems]
Recursively applies the command for the system and all its subsystems.

-R Shows all RCS libraries, if they are links or directories.

-p[rotection]
Shows the protection (permissions) of the subsystems and RCS libraries.

EXAMPLES

$system info -f -s ex_system

FILES

/ipa/systems/system/master/overview

DIRECTORIES

/ipa/systems/system

SEE ALSO

s_create(1)

AUTHOR

Ivica Crnkovic

NAME

system newconf - create a new system configuration

SYNOPSIS

system newconf [-f] [-v] [-nco] [-r rev] [[-w] [-b] [-k] [-br b_rev] [-nrl]] [system ] [old_configuration] [new_configuration]

DESCRIPTION


The system newconf command creates a new configuration (release) structure under the system directory. The new configuration is copied from an old one, so that it looks exactly the same as the old configuration after the creating. The files are, however, not copied, but links to them are created. The directory structure of the new configuration is the same as for the old one. This directory structure should be later used for an integration of the new release. The directory structure below is created. Default is to create it on /ipa/systems, it can be created on another root by using the environment variable SDE_SYSTEMS. This example uses /ipa/systems:
/ipa/systems/system/new_configuration
/ipa/systems/system/new_configuration/RCS

PARAMETERS

system
The system name.

old_configuration
The name of an existing system configuration.

new_configuration
The name of the configuration to be created.

OPTIONS

-f
Execute the command directly without asking for parameters.

-v Shows which directories have been created. List all the subsystems that are initiated and all the files copied to the new RCS libraries.

-nco Do not check out files from the RCS libraries when the configuration is created. Default is to check out the files.

-r rev
Select the latest version of files whose number is less than or equal to rev. If rev indicates a branch rather than a version, the latest version on that branch is retrieved. If option -r is omitted then the name of the old configuration is taken as rev. In the case that the configuration is specified as x.y-z, where x,y and z are numbers, the corresponding symbolic name will be Rx_y_z. If rev is specified as latest than the latest versions of the files will be copied to the new RCS libraries. Otherwise, a version is composed of one or more numeric or symbolic fields separated by periods.

-w Initiate the new configuration. For each subsystem creates a new RCS library (instead of having a symbolic link to the original library), and copies a particular version of files to the new library.

-k Do not remove the versions after the selected version of each copied file, from the RCS library (RCS/file,v). The default is to only save the selected version of the file in the RCS library. Status and eventual name are set on the selected version of the file.

-nrl Do not remove eventual lock from each file, warning messages will be sent for this version of the file. The option may be useful together with -k option, when the locked version is a version that should be kept anyway. Default is to remove the lock from the file version, and remove the file version if it is not needed.

-b Create a branch for all files in the directory. The branch is created from the copied file version. Default is to create it as the first branch from the file version, if a branch already exist from this file version, a new branch is created with an incremented branch number.

The first version in the branch has the same file contents as the copied file version. The file version in the branch will have the state specified by the option -S.

The created branch is set to default, i.e. the files will be checked out and checked in to this branch by default, without giving any revision number.

Used with the -w option.

-br branch_rev
Same as -b. The only difference is that all files will have the revision specified by branch_rev.

Used with the -w option.

EXAMPLES

$ system newconf -nco

System name: ex_system
Old Configuration: 1.0-0
New Configuration: 1.1-0

System ex_system configuration 1.1-0 is created

system newconf -w -r latest 1.0-0 1.1-0

creates a new configuration and initiates it. The latest versions of files from 1.0-0 are copied to the 1.1-0 configuration.

system newconf -w -r latest -b 1.0-0 1.1-0

creates a new configuration and initiates it. The latest versions of files from 1.0-0 are copied to the 1.1-0 configuration, all files will have a branch in the new configuration.

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

system newsub - create a new subsystem

SYNOPSIS

system newsub [-f] [-F] [-v] [subsystem_path]

DESCRIPTION


The command system newsub creates a new subsystem in a system configuration. The configuration must not have offsprings. The following directories are created:
/ipa/systems/system/configuration/../subsystem
/ipa/systems/system/configuration/../subsystem/RCS

PARAMETERS

subsystem_path
The subsystem path (system/configuration[/..]/subsystem).

OPTIONS

-f
Execute the command directly without asking for parameters.

-F If a system configuration has a child configuration, by default it is not allowed to change it (like add or remove a subsystem). The -F option allows to create a subsystem.

-v Shows which directories have been created.

EXAMPLES

$ system newsub

Subsystem path (system/configuration[/..]/subsystem): ex_system/1.0-0/sub1

The subsystem ex_system/1.0-0/sub1 is created

AUTHOR

Ivica Crnkovic

NAME

system rcsinfo

- Provide information about RCS libraries in a system configuration.

SYNOPSIS

system rcsinfo [options] system_path

DESCRIPTION

The command system rcsinfo displays different information about files placed in the RCS directories in the system (or subsystem), starting from the specified system path. The command is based on the command rcsinfo.
In general, the following format of the printout is defined, one line per file version:

filename version State: status Author: author Name: names Locked by: Locker

"Name: names" is a whitespace-separated list of symbolic version names. It appears only if there are any symbolic names for the file version.

"Locked by: Locker" appears only if the file version is locked.

PARAMETERS

system_path
Specifies a system configuration or a subsystem in a system configuration as a path relative to /ipa/systems.

OPTIONS

The following options are applied as search keys on each file,version and limit the resulting output; only data for matching file,version pairs are displayed:

-r[version]
Prints information about file versions given in the comma-separated list versions of versions and ranges. A range rev1:rev2 means versions rev1 to rev2 on the same branch, :rev means versions from the beginning of the branch up to and including rev, and rev: means versions starting with rev to the end of the branch containing rev. An argument that is a branch means all versions on that branch. A range of branches means all versions on the branches in that range. A branch followed by a . means the latest versions in that branch. A bare -r with no versions means the latest version on the default branch, normally the trunk.-l[lockers]
Print only information about files that are locked.

-nr[versions]
Prints information about file versions that are not given in the comma-separated list versions of versions and ranges. See -r for a description of the list. -nr can be combined with -r to for example look at the latest version of files which do not have the versions (e.g. symbolic name) specified with -nr.

-l[lockers]
Print information about locked file versions. In addition, if the comma-separated list lockers of login names is given, ignore all locks other than those held by the lockers.

-sstates Print only information about file versions whose state is equal to one of the states given in the comma-separated list states. It cannot be combined with the -ns option.

-nsstates
Print only information about file versions whose state is no equal to one of the states given in the comma-separated list states. It cannot be combined with the -s option.

-w[login]
Print only information about file versions that are checked in by user login.

-ddate Print information about versions with a checkin date/time in the ranges given by the semicolon-separated list of dates. A range of the form d1<d2 or d2>d1 selects the versions that were deposited between d1 and d2 inclusive. A range of the form <d or d> selects all versions dated d or earlier. A range of the form d< or >d selects all versions dated d or later. A range of the form d selects the single, latest version dated d or earlier. The date/time strings d, d1, and d2 are in the free format explained in co(1). Quoting is normally necessary, especially for < and >. Note that the separator is a semicolon.

-b Print information about versions of the default branch.

rcsinfo prints the intersection of the file versions selected with the options -r, -l, -s, -w, -d, and -b, with the exception that -r "" -b will first form a union that will then be intersected with the other selections.

The -D options change the resulting output; only the description of each file is printed:

-D Instead of the ordinary output, print the description of each file. -D cannot be combined with -r, -nr, or -ns.

The following options change the way in which the files are selected:

-xsuffixes
Select files in the same way as in checkout or in cocommand.

-g grp Select files belonging to the group grp.
If the option -g is used, the files parameter is ignored; don't use it with the -g option.

-v "Verbose": print directory names even if there are no matching files.
The normal behaviour is to print directory names only for those directories where matching files are found.

The following options define the output format:

-T[SVANDC]
Defines the column output format. The following option keywords are defined:

S List State
V List Version Number
A List Author
N List Symblic name (if defined)
D List Version Date
C List Title Description

Any combination of these keys may be used. If the -T option is specified with no key, then only file names are listed (once for each version).
Note that the C keyword should be used only when one version of files are displayed (for example when the option -r is defined) and when descriptions are one line long. Otherwise the unpredictable displays may occur. When printing several versions of a file, use -C option instead.

-c This option is the same as the combination -TSVAN.

-C Writes the file description title after the list of versions. The description is displayed in a separate line.

EXAMPLES

$ system rcsinfo -rR1_1_0 syst1/1.1-0

prints all the files in the system configuration 1.1-0 of the system syst1 that have symbolic names R1_1_0.

system info -nrR1_1_0 syst1/1.1-0

prints the names of all the files that do not have any version named R1_1_0.

$ system rcsinfo -nsStable,Unchanged,Rel,Obsolete -r syst1/1.1-0

prints all the files is the system configuration 1.1-0 of the system syst1 which latest versions do not have the state Stable, Unchanged, Rel, or Obsolete.

SEE ALSO

rcsinfo(1), rlog(1)

AUTHOR

Ivica Crnkovic, Mats Medin

NAME

system rcsiniw - Initiate a system configuration for work.

SYNOPSIS

system rcsiniw [options] system_path

DESCRIPTION


The system rcsiniw command prepares a system configuration or a part of it for a new work session. For the specified configuration, or for a part of it, the command looks for the RCS directories placed in each subsystem. If a RCS library is defined as a symbolic link, it removes the link and creates a new RCS directory. The files are copied from the original RCS directory to the created RCS directory. After the copying all file versions except one (default latest version) are purged. In this way the new RCS directory gets one (working) version of every file.

PARAMETERS

system_path
Specifies a system configuration or a subsystem in a system configuration that will be initiated.

OPTIONS

-r rev
Select the latest version of files whose number is less than or equal to rev. If rev indicates a branch rather than a version, the latest version on that branch is retrieved. If rev is $, the command determines the version number from keyword values in the working file. Otherwise, a version is composed of one or more numeric or symbolic fields separated by periods.

-s state
Select the latest version on the selected branch whose state is set to state.

-w login
Select the latest version on the selected branch which was checked in by the user with login name login.

-x suffixes
Select files specified by the suffixes for RCS files. A nonempty suffix matches any pathname ending in the suffix. An empty suffix matches any pathname of the form RCS/file or path/RCS/file. The -x option can specify a list of suffixes separated by /. For example, -x ,v/ specifies two suffixes: ,v and the empty suffix. If two or more suffixes are specified, they are tried in order when looking for an RCS file; the first one that works is used for that file. If no RCS file is found but an RCS file can be created, the suffixes are tried in order to determine the new RCS file's name. The default for suffixes is installation-dependent; normally it is ,v/ for hosts like Unix that permit commas in file names, and is empty (i.e. just the empty suffix) for other hosts.

-d date
Select the latest version on the selected branch whose checkin date/time is less than or equal to date. The date and time may be given in free format. The time zone LT stands for local time; other common time zone names are understood. For more detail see the co(1) command.

-e Keep the subsystem directories empty, i.e. do not check out the working versions of files.

-nt Do not apply the command on the complete directory tree, but only on the directory specified with system_path.

-i Ask for each subsystem if it should be initiated or not.

-k Do not remove the versions after the selected version of each copied file, from the RCS library (RCS/file,v). The default is to only save the selected version of the file in the RCS library. Status and eventual name are set on the selected version of the file.

-nrl Do not remove eventual lock from each file, warning messages will be sent for this version of the file. The option may be useful together with -k option, when the locked version is a version that should be kept anyway. Default is to remove the lock from the file version, and remove the file version if it is not needed.

-b Create a branch for all files in each sub-directory. The branch is created from the copied file version. Default is to create it as the first branch from the file version, if a branch already exist from this file version, a new branch is created with an incremented branch number.

The first version in the branch has the same file contents as the copied file version. The file version in the branch will have the state specified by the option -S.

The created branch is set to default, i.e. the files will be checked out and checked in to this branch by default, without giving any revision number.

-br branch_rev
Same as -b. The only difference is that all files will have the revision specified by branch_rev.

-n name
Specify a new symbolic name for all files in the new RCS libraries.

-o Even if the starting RCS library is not a link but a sub-directory, initiate it. If the option is omitted, the RCS directory will be kept in its original form.

-S state
Specify a new state for the files in the new RCS library.

-v List which files are copied into new RCS directory from the old RCS.

-nt Apply the command on only the specified directory, instead of the complete directory tree, starting from the system_path specified.

EXAMPLES

system rcsiniw -r R1_0_0 system1/R2_0_0

initiates the R2_0_0 configuration of the system system1.

SEE ALSO

checkin(1), checkout(1), rcs(1), rcsiniw(1), s_newconf(1)

AUTHOR

Ivica Crnkovic, Elisabet de Waal

NAME

system rcsname - define symbolic names for particular versions of RCS files in a system configuration or a part of it.

SYNOPSIS

system rcsname [options] name system_path [files]

DESCRIPTION


The command system rcsname defines symbolic names for particular versions of RCS files in a system configuration, or in a part of it.

PARAMETERS

name[:[rev]]
Associate the symbolic name name with the branch or version rev. Print an error message if name is already associated with another number. Delete the symbolic name if -r is specified and both : and rev are omitted. If rev is symbolic, it is expanded before association. A rev consisting of a branch number followed by a "."stands for the current latest version in the branch. A : with an empty rev stands for the current latest version on the default branch, normally the trunk. That is also the case if just a name is specified.

system_path
Specifies a system configuration or a subsystem in a system configuration as a top of directory tree where the attributes will be defined.

files Specifies files which attributes should be changed. If no file is specified then all the files placed in every RCS library in the directory tree are looked for, i.e. the default value for files is RCS/* for each subsystem.

OPTIONS

-q
Quiet mode. Diagnostics are not printed.

-t Apply the command on the complete directory tree, starting from the system_path specified.

-N Override any previous assignment of name.

-r Remove symbolic name associated with a branch or version.

-s state
Write symbolic names on the latest versions that have a status state.

-g grp
Change attributes for all files belonging to the group grp.

-S Test if the latest versions of file have the state Obsolete. If that is true, the symbolc file name is not set.

-x suffixes
Use suffixes to characterize RCS files. See checkin for details.

EXAMPLES

system rcsname R2_0_0: syst1/2.0-0

defines the symbolic name R2_0_0 to the latest version of all the files in the configuration 2.0-0.

SEE ALSO

rcsname(1), rcs(1)

AUTHOR

Ivica Crnkovic, Marco Mohle

NAME

system rcspurge - delete versions of RCS files in a system configuration or a part of it.

SYNOPSIS

system rcspurge [options] system_path [files]

DESCRIPTION


The command system rcspurge removes specified versions from RCS libraries placed in a system configuration or in a part of it. If a RCS library is defined as a symbolic link to a library from another configuration, the files are not purged.

PARAMETERS

system_path
Specifies a system configuration or a subsystem in a system configuration as a top of directory tree where the attributes will be defined.

files Specifies files which versions should be deleted. If no file is specified then all the files placed in every RCS library in the directory tree are looked for, i.e. the default value for files is RCS/* for each subsystem.

OPTIONS

-q Quiet mode. Diagnostics are not printed.

-nt Do not apply the command on the complete directory tree, but only on the directory specified with system_path.

-ggrp Delete versions of all files belonging to the group grp.

-rrange Delete the versions given by range. A range of the form rev1:rev2 means the versions between rev1 to rev2 on the same branch, :rev means from the beginning of the branch containing rev up to rev, and rev: means from version rev to the end of the branch. None of the outdated versions may have locks. If neither -r, -kr nor -ks is specified then the latest version of a file is kept.

-krrev Delete all the versions but that one specified by rev.
Note, if rev is a version in a branch, only other versions in this branch will be removed. All other branches, and the main trunk will be kept as before.

-ksstate Delete all the versions but those that have the state status. If more than one status should be kept, state is a list of statuses, separated by commas.

-xsuffixes
Select files specified by the suffixes for RCS files. A nonempty suffix matches any pathname ending in the suffix. An empty suffix matches any pathname of the form RCS/file or path/RCS/file. The -x option can specify a list of suffixes separated by /. For example, -x ,v/ specifies two suffixes: ,v and the empty suffix. If two or more suffixes are specified, they are tried in order when looking for an RCS file; the first one that works is used for that file. If no RCS file is found but an RCS file can be created, the suffixes are tried in order to determine the new RCS file's name. The default for suffixes is installation-dependent; normally it is ,v/ for hosts like Unix that permit commas in file names, and is empty (i.e. just the empty suffix) for other hosts.

EXAMPLES

system rcspurge -ksRel,Stable

deletes all the versions of files, except those that have the statuses Rel or Stable.

SEE ALSO

rcspurge(1), rcs(1), rcsp(1)

AUTHOR

Ivica Crnkovic, Marco Mohle

NAME

system rcsstate - define status for versions of RCS files in a system configuration or a part of it.

SYNOPSIS

system rcsstate [options] state system_path [files]

DESCRIPTION


The command system rcsstate defines a status for versions of RCS files in a system configuration, or in a part of it. For each subsystem, the command rcsstate is invoked.

PARAMETERS

state[:rev]
Set the state attribute of the version rev to state . If rev is a branch number, assume the latest version on that branch. If rev is omitted, assume the latest version on the default branch. Any symbolic name of a rev is acceptable for state. A useful set of states is Unchanged (starting status) Exp (for experimental), Stable (for stable), Rel (for released), and Obsolete (for not used).

system_path
Specifies a system configuration or a subsystem in a system configuration as a top of directory tree where the attributes will be defined.

files Specifies files which state should be changed. If no file is specified then all the files placed in every RCS library in the directory tree are looked for, i.e. the default value for files is RCS/* for each subsystem.

OPTIONS

-q
Quiet mode. Diagnostics are not printed.

-t Apply the command on the complete directory tree, starting from the system_path specified.

-g grp
Change attributes for all files belonging to the group grp.

-x suffixes
Use suffixes to characterize RCS files. See checkin for details.

EXAMPLES

system rcsstate Rel:R2_0_0 syst1/2.0-0

defines the status Rel to the version of a file named R2_0_0 in the configuration 2.0-0.

SEE ALSO

s_rcsname(1), rcs(1)

AUTHOR

Ivica Crnkovic, Marco Mohle

NAME

system rename - rename a system, configuration or subsystem

SYNOPSIS

system rename [-F] system_path new_name

DESCRIPTION

The command system rename renames the latest part of a system_path to new_name.

Rename system

The system is renamed, the link pointing to the system in /ipa/systems is changed. Symbolic links including the old system name are changed to include the new system name. The overview file of the system is changed.
Note, that projects connected to the system must change the the link in /ipa/projects/*/systems pointing to the old system name. These must be changed manually.
The user directories in a project connected to the system must also be renamed. Both the directories including system name and symbolic links pointing to the system needs to be renamed. For this purpose the command rentree may be used.
Check also references in product definition files, Makefiles etc. and rename them manually.

Rename configuration

The configuration is renamed, symbolic links in "later" configuration pointing to the renamed configuration are changed.
Note, that projects connected to the system configuration must change the the link in /ipa/projects/*/systems pointing to the old system name. These must be changed manually.
The user directories in a project connected to the system must also be renamed. Both the directories including system/configuration name and symbolic links pointing to the system configuration needs to be renamed. For this purpose the command rentree may be used.
Check also references in product definition files, Makefiles etc. and rename them manually.

Rename subsystem

Normally, it is only possible to rename a subsystem, if it is located in "latest" configuration. To rename subsystem in a configuration with existing children, use the option -F. Its RCS library must not be a symbolic link pointing to another RCS library.

The user directories in a project connected to the system must also be renamed. Both the directories including system/configuration/subsystem name and symbolic links pointing to the subsystem in the system configuration needs to be renamed. For this purpose the command rentree may be used.
Check also references in product definition files, Makefiles etc. and rename them manually.

OPTIONS

-F If a system configuration has a child configuration, by default, you are not allowed to change it (like add or remove a subsystem). The -F option allows you to rename a subsystem, even if child configurations exist.

EXAMPLES

system rename systemA systemB

renames systemA to systemB

system rename systemB/2.0-0 2.1-0

renames configuration 2.0-0 in systemB to 2.1-0

SEE ALSO

system(1), rentree(1)

AUTHOR

Elisabet de Waal

NAME

system set - set a new system

SYNOPSIS

system set [-f] [-t] [-v] [-s] [-n] [-N node] [-S] [-xcommand] [system_path]

DESCRIPTION

Only the system manager needs to use this command, when a final integration of a system or a system part is going to be done. The system set command sets an environment for the specified system, which means:
Set working directory to the system directory or subdirectory in the system.
Define the following environment variables:

SDE_SYSTEM=system
SDE_SYSTEM_DIR=system_directory
SDE_SYSTEM_WD=working_directory
SDE_SYSCONF=system_configuration
SDE_CONFROOT=system_configuration current root


Optionally create a new terminal window. Set the following prompt for the shell: Node:system$
Optionally create a VerWork and Softbench Development Manager window. In that case it creates the ~/.softenv file which includes all current environment variables and SDE_SYSTEM variables described above.
Optionally create a VUE File Manager window.

PARAMETERS

system_path
The name of a system or the subsystem path of a part of the system to be setup.

OPTIONS

-f Executes the command without asking about the parameters.

-t[erminal]
Creates a new terminal window.

-v[ue] Creates a new file manager window.

-s[oftbench]
Creates a new VerWork and Softbench Development Manager window. Creates ~/.softenv file that includes environment variables.

-S Creates only the ~/.softenv file that is used by Softbench applications. If the same .softenv is already created (i.e. it has the same SDE_CONFROOT variable) the new .softenv file is not created.

-n[o_window]
Creates a new process in the same terminal window from which the command is invoked. If options -v -t -s are not specified this option is the default one.

-N node
Creates a terminal or softbench window on a remote node Node.

-xcommand
Sets up the system and execute the specified command as a sub-process. If a new terminal window was required (-t option), then the command is executed in the created terminal.

EXAMPLES

$ system set ex_system
ws100:ex_system$

SEE ALSO

s_create(1)

AUTHOR

Ivica Crnkovic

NAME

sde - SDE Control Panel

SYNOPSIS

sde [-newserver] [-help]

DESCRIPTION

The command sde starts SoftBench and SDE Control Panel, and the main Motif interface to SDE.

SDE Control Panel is a top-level tool that manages all SoftBench applications (for a specific user and message server) in the SDE environment. It helps you to manage all your SoftBench tools, including setting up correct environment variables for different sessions that are running simultaneously.

The main window has a "Sessions:" list that shows the available project or system sessions. Each system configuration, on either project or system level, is regarded as a separate session.

OPTIONS

-newserver
Start a new message server, and start a new instance of SDE Control Panel that is connected to this server. This is useful after you have changed process ownership, e.g. with 'su' or 'newgrp'. The new message server will have the same process ownership as the process where you issue the "sde -newserver" command. SoftBench tools started later on will inherit process ownership from the SDE Control Panel (and connected message server) that started them. (The option -newserver can be abbreviated to -n).

-help Write a help text for the sde command, and exit.

EXAMPLES

sde

SEE ALSO

sde_overview(1) This manual page summarizes all SDE commands.

AUTHOR

Stefan Frennemo

NAME

splitman - Split the mangen manual output for a library

DESCRIPTION

The script splitman splits the output from mangen into separate files. The script mangen, when run with options 'lib' and '-n', generates one nroff-file called <filename>Lib.2 that contains all manual entries for all the routines contained in the processed input file. The purpose of this script is to split such a manual entry file up into separate manual entry files, one for each manual entry.

SYNOPSIS

splitman [<file>]

PARAMETERS

file The name of the file containing the collection of
manual entries. If file is omitted, the standard
input file is read instead.

The manual entry collection file is split up into separate manual entry files. The manual entries in the input file are separated with a form-feed character, and the first line in each manual entry contains the name of the manual entry. The produced files are named as their manual entry names, appended with '.2'

NOTE

The file to process must be the output from mangen

SEE ALSO

mangen(1), concatman(1)

AUTHOR

SEAUT/LKSS Ake Bromo

NAME

srclines - count C and C++ source lines, with and without comments

SYNOPSIS

srclines [files...]

DESCRIPTION

The command srclines counts C and C++ source lines. If file arguments are given, these files are analyzed, otherwise input is taken from standard input.

Both the total number of lines and the actual number of source lines (excluding blank lines and comments) are counted. Both C and C++ comments are handled. (C++ comments, '//', should be very rare in C code.)

The following kind of output is produced:

Number of files: 4
Uncommented/nonblank lines: 2410
Total number of lines: 3052

The "Number of files:" line is suppressed if input is taken from standard input.

PARAMETERS

files
is a list of file names.

EXAMPLES

1. srclines *.[hHcC]

2. cat *.h | srclines

NAME

system - invoke system commands

SYNOPSIS

system chmanagersystem_name new_userid [new_groupid]

system combine [-r rev] [-s state] [-w login] [-x suffix] [-d date] [-n name] [-S NewState] [-M message] [-v] [-a] [-nm] [-b] [-i] [-nt] system_path [dest_config]

system create [-f] [system] ["system_description"] [configuration] [system_manager_userid] ["system_manager_name"] [system_directory]

system delete [-i] [-f] [system_path]

system establish [-rPrev] [-s state] [-w login] [-x suffix] [-d date] [-n name] [-c cmode] [-S NewState] [-M message] [-v] [-k] [-a] [-b] [-i] [-nt] system_path [dest_config]

system info [-d] [-l] [-r] [-o] [-f] [-s] [-w] [-R] [-p] [system_path]

system newconf [-f] [-v] [[-w] [-k] [-nrl] [-nco] [-rrev] [-b] [-brb_rev]] system] [old_configuration] [new_configuration]

system newsub [-f] [-v] [subsystem_path]

system rcsinfo [-rrevs] [-l] [-sstates] [-wlogin] [-xsuffixes] [-ddate] [-b] [-ggrp] [-D|-nrrev-nsstate] [-v]system_path

system rcsiniw [-r rev] [-s state] [-w login] [-x suffix] [-d date] [-n name] [-S NewState] [-M message] [-R rev] [-e] [-b] [-brBranchRev] [-v] [-o] [-i] [-nt] [-k] [-nrl] system_path

system rcsname [-q] [-N] [-t] [-s state] [-g grp] [-x suffix] name system_path [files...]

system rcspurge [-q] [-nt] [-l] [-rrange | -krrev | -ksstate1,...] [-ggrp] [-xsuffix] system_path [files...]

system rcsstate [-q] [-t] [-g grp] [-x suffix] state system_path [files...]

system rename system_path newname

system set [-f] [-t] [-v] [-s] [-n] [system_path]

DESCRIPTION

The following actions are allowed:

system chmanager - change the manager of a system
system combine - copies selected versions of RCS files from a system configuration to the parent
system create - create a new system
system delete - remove a system
system establish - establish a system configuration
system info - give information about systems
system newconf - create a new configuration of the system
system newsub - create a new subsystem
system rcsinfo - provide information about RCS libraries in a system configuration
system rcsiniw - initiate a system configuration for work
system rcsname - define symbolic names of RCS files in a system configuration
system rcspurge - delete versions of RCS files in a system configuration
system rcsstate - define status for RCS files in a system configuration
system rename - rename a system, configuration or subsystem
system set - set a system

SEE ALSO

s_chmanager(1), s_combine(1), s_create(1), s_delete(1), s_establish(1), s_info(1), s_newconf(1), s_newsub(1), s_rcsinfo(1), s_rcsiniw(1), s_rcsname(1), s_rcspurge(1), s_rcsstate(1), s_rename(1), s_set(1)

AUTHOR

Ivica Crnkovic

NAME

systm - SDE-System Manager tool

SYNOPSIS

systm

DESCRIPTION


The SDE - System Manager is a tool for managing systems, as defined by SDE-CORE. Using the SDE - System Manager, you can

- Create systems, configurations, and subsystems

- Perform release work on a configuration: check the status of the
versioned files, select file versions for the release/prerelease,
copy files to product, freeze the configuration, establish the
configuration

- Start other tools: the Project Manager, the Product Manager,
SoftBench tools

The System Manager is built on top of the SDE-CORE line commands. It has a Motif user interface with pulldown menues and dialog boxes.

AUTHOR

Lars-Erik Strom, Mats Medin

NAME

command name - write a command name in bold and a short description of the command.

SYNOPSIS

Write how to invoke the command.

DESCRIPTION

This template shows how to create a man page. Copy the file $SDE_HOME/man/man1/template.1 to your directory and edit it. Name your man page as "command.N" where "command" is the command name, maximum 11 characters, and "N" is a number from the following list:

1 ... for commands
2 ... for functions calls
3 ... for computer language libraries
4 ... for formats of some files
5 ... for miscellaneous facilities
6 ... for games
7 ... for device special files

The template lists all the parts of a man page which you may use. If you do not need some parts, delete them. In order to formate your description, you can also use the following commands:

.B line A
Make line A bold (if line A includes blanks, enclose line A with double quotes).

.I line A
Make line A italic (if line A includes blanks, enclose line A with double quotes).

.PP Begin a new paragraph.

.TP N
Begin a new paragraph by N characters indent (the default indent is 5).

.br Break a line.

.RS Increase relative indent.

.RE Return to the relative indent level.

.nf No fill. The text is formatted as you write it. Disables fill mode.

.fi Fill mode. Resets the .nf command. Enables fill mode.

You have to put these commands on the beginning of a line.

NOTE : When you use ".B line A" or ".I line A", you get one space in the front and in the end of the line A. If you do not want a space, use \fB instead of .B, \fI instead of .I, and use \fP to return to the previous font. Actually, it is preferable to use the \fB \fP- and the \fI \fP-commands.

(example) \fBbold\fP-\fIitalic\fP.

To get a man page available for the man command, put your edited man page in /usr/local/man/manN directory, corresponding to the number "N" in the file name. If you want to modify a man page after invokation, you have to remove your formatted man page file which is made in /usr/local/man/catN.Z directory ("N" is a same number used in the file name).

PARAMETERS

parameter
Write a parameter name in italic. The description of the parameter is followed by 5 characters indent from the parameter definition line.

OPTIONS

-option value
Write an option name in bold and an option value in italic. The description of the option is followed in the same way as for PARAMETERS.

EXAMPLES

Give examples of the command.

DIAGNOSTICS

Write a description of the exit status and error messages of the command.

WARNINGS

Specify warnings to the issuer of the command.

FILES

List the files related to the command.

DIRECTORIES

List the directories related to the command.

SEE ALSO

List other commands related to the command.

EXTERNAL INFLUENCES

Describe influences of environment variables on the command.

AUTHOR

Write a name of the author.

NAME

traverse - traverse a directory structure and execute a command in each directory

SYNOPSIS

traverse path [-up|-c conf] [-e dir] action

DESCRIPTION

The command traverse traverses the specified directory structure and takes a specified action in every traversed directory.

The command traverses the given directory structure in one of three modes:

top-down, bottom-up, configuration mode. In the top-down mode (default), the action is taken first in the current directory, and after that in the subdirectories. In the bottom-up mode, the action is perform first in the subdirectories and after that in the current directory. In the configuration mode, the order of traversed directories is determined by configuration files placed in the top directory (or/and in other traversed directory).

PARAMETERS

path
denotes a pathname that includes the starting point for traversal

action
denotes an action that will be taken in every traversed directory. The action can be a command or a command with arguments.

OPTIONS

-up
Traversal in bottom-up mode. (The default mode is top-down mode)

-c conf
Traversal in configuration mode. The traversal is determined by conf files placed in the top directory (or/and in other traversed directories). The syntax of the configuration files is as follow:

file = [ line '\n' ] *
line = path | path comment | comment | empty_line
comment = '#' ascci_text

-e dir
Exclude the directory dir. (Symbolic links and RCS directories are excluded by default)

EXAMPLES

If we want to update all Makefiles in a system, we can use the command traverse in two ways. First, we can use the command traverse to perform only one command at a time.

traverse . checkout Makefile
traverse . checkin Makefile


Second, we can put these three commands (checkout Makefile, gnumake depend, checkin Makefile) in a file "updateMakefiles", and traverse the file as a script.

traverse . updateMakefiles

Other examples:
traverse .
traverse /ipa/systems/uirt ls


AUTHOR

Marek Stepien

NAME

vaxlog - create a vt100 terminal window and login on a remote node

SYNOPSIS

vaxlog [-c] [-f file] [node] [title] [font] [bfont]

DESCRIPTION

The command vaxlog creates a vt100 window, makes it possible to select vt100 fonts and does the login on a remote computer node. When invoked the first time, the command lists availabe fonts which may be selected. The list of fonts is taken from the $SDE_HOME/forms/sde.fonts file.
The command creates a file ~/.vaxlog in which it stores the command parameters. When next time the command is invoked, these parameters are read. If the new parameters are defined in the command line, they override the parameters stored in the ~/.vaxlog file, but they are not saved.

PARAMETERS

node
Defines the remote node name.

title
Defines the window title. The default value of the title is the remote node name.

font Defines the fonts used in the new window.

bfont Defines the bold fonts.

OPTIONS

-f file
Reads the parameters from the file file Instead of from the
~/.vaxlog file.

-c Rewrites the ~/.vaxlog file or the file specified by -f option.

EXAMPLES

vaxlog ma8 ma8-vax sde.vt100 sde.vt100b
vaxlog
vaxlog -c -f ma7log ma7
vaxlog -f ma7log

FILES

~/.vaxlog
$SDE_HOME/forms/sde.fonts

AUTHOR

Ivica Crnkovic

NAME

verwork - SDE VersionWorks

SYNOPSIS

verwork [-host contexthost] [-dir contextdirectory] [-subdir subdirectory] [-nodm]

DESCRIPTION

The command verwork starts SDE VersionWorks, a Motif interface to SDE/RCS version handling commands. SDE VersionWorks has the following features:

- it provides a window into the version database (the RCS files) for a subsystem, where you can look at and manipulate selected versions

- it is a navigator tool for the subsystem directories used in a project

- it manages a working environment for a project, and keeps track of all active SoftBench tools in this environment.

- it adds a menu of SDE functions to the SoftBench Development Manager, containing useful commands like setting RCS state on a versioned file

OPTIONS

-host contexthost
Host which contains directory to operate on.

-dir contextdirectory
The context directory, i.e. the top of the directory hierarchy managed by VersionWorks. The default context is the current directory of the shell ($PWD).

-subdir subdirectory
A subdirectory relative to the context directory. This sets the current directory to a subsystem below the context directory. As default, the current directory is same as the context directory (see -dir).

-nodm Disable the automatic connection to SoftBench Development Manager.

EXAMPLES

verwork&

AUTHOR

Stefan Frennemo

NAME

wtitle - Write a window title

SYNOPSIS

wtitle title

DESCRIPTION

The command wtitle writes a title on the current window. If the title parameter is omitted, the current node and the current directory is written i.e. the command $(hostname):$(pwd) is evaluated.

EXAMPLES

wtitle $(pwd)

AUTHOR

Ivica Crnkovic

NAME

xdir - display a directory tree as a graph using the xtree command.

SYNOPSIS

xdir [-f] [-a] [dir] [any xtree option]

DESCRIPTION

The xdir command displays a directory tree using the xtree command.

PARAMETERS

dir
is the root of the directory tree to be shown. If the parameter is omitted, then the current directory is taken.

OPTIONS

-f
Show not only directories but all files present in each directory in the tree.

-a Print tree in a text format that may be used as input to the xtree command.

The following options from xtree are more important:

-d output_file

Directly produce Postcript file without making any windows on the display. Be sure that output file already does not exist, because xtree will simply overwrite output file which is not protected.

-ol,-op

Specifies orientation of tree in a printer page. It can be landscape (-ol), or portrait (-op). Default is -op.

-by,-bn

Turns on, or turns off showing of boxes around node labels. Default is without boxes (-bn). It can be changed interactively.

-t title_text_for _printing

Page header text for printing. Default is without header. You can enter this text each time you want to print.

For more information about xtree options see man xtree.

EXAMPLES

cd /ipa/products/sde
xdir 2.2-0

SEE ALSO

xtree(1)

AUTHOR

Ivica Crnkovic.

NAME

xgraph - Draw a graph on an X11 Display

SYNOPSIS

xgraph [ options ] [ =WxH+X+Y ] [ -display host:display.screen ] [ file ... ]

DESCRIPTION

The xgraph program draws a graph on an X display given data read from either data files or from standard input if no files are specified. It can display up to 64 independent data sets using different colors and/or line styles for each set. It annotates the graph with a title, axis labels, grid lines or tick marks, grid labels, and a legend. There are options to control the appearance of most components of the graph.

The input format is similar to graph(1G) but differs slightly. The data consists of a number of data sets. Data sets are separated by a blank line. A new data set is also assumed at the start of each input file. A data set consists of an ordered list of points of the form "X Y". Each point must appear on a separate line. The name of a data set can be specified by a line which begins with a double quote followed by the set name. An example input file with three data sets is shown below (note set three is not named):

0.5 7.8
1.0 6.2
"set one
1.5 8.9

"set two
-3.4 1.4e-3
-2.0 1.9e-2
-0.65 2.2e-4

2.2 12.8
2.4 -3.3
2.6 -32.2
2.8 -10.3

After xgraph has read the data, it will create a new window to graphically display the data. The interface used to specify the size and location of this window depends on the window manager currently in use. Refer to the reference manual of the window manager for details.

Once the window has been opened, all of the data sets will be displayed graphically (subject to the options explained below) with a legend in the upper right corner of the screen. To zoom in on a portion of the graph, depress a mouse button in the window and sweep out a region. xgraph will then open a new window looking at just that portion of the graph. xgraph also presents two control buttons in the upper left corner of each window: Close and Hardcopy. Windows are closed by depressing a mouse button while the mouse cursor is inside the Close button. Typing EOF (control-D) in a window also closes that window. Depressing a mouse button while the mouse cursor is in the Harcopy button causes a dialog to appear asking about hardcopy (printout) options. These options are described below:

Output Device
Specifies the type of the output device (e.g. "HPGL", "Postscript", etc). An output device is chosen by depressing the mouse inside its name. The default values of other fields will change when you select a different output device.

Disposition
Specifies whether the output should go directly to a device or to a file. Again, the default values of other fields will change when you select a different disposition.

File or Device Name
If the disposition is "To Device", this field specifies the device name. A device name is the same as the name given for the -P command of lpr(1). If the disposition is "To File", this field specifies the name of the output file.

Maximum Dimension
This specifies the maximum size of the plot on the hardcopy device in centimeters. xgraph takes in account the aspect ratio of the plot on the screen and will scale the plot so that the longer side of the plot is no more than the value of this parameter. If the device supports it, the plot may also be rotated on the page based on the value of the maximum dimension.

Title Font Family
This field specifies the name of a font to use when drawing the graph title. Suitable defaults are initially chosen for any given hardcopy device. The value of this field is hardware specific -- refer to the device reference manual for details.

Title Font Size
This field specifies the desired size of the title fonts in points (1/72 of an inch). If the device supports scalable fonts, the font will be scaled to this size.

Axis Font Family and Axis Font Size
These fields are like Title Font Family and Title Font Size except they specify values for the font xgraph uses to draw axis labels, and legend descriptions.

Control Buttons
After specifing the parameters for the plot, the "Ok" button causes xgraph to produce a hardcopy. Pressing the "Cancel" button will abort the hardcopy operation.

xgraph accepts a large number of options most of which can be specified either on the command line or in the user's ~/.Xdefaults file. A list of these options is given below. The command line option is specified first with its X default name (if any) in parenthesis afterward. The format of the option in the X defaults file is "program.option: value" where program is the program name (xgraph) and the option name is the one specified below. Note that the value of a flag in the X defaults file must be "1".

-<digit> <name>
These options specify the data set name for the corresponding data set. The digit should be in the range '0' to '63'. This name will be used in the legend.

-b Force xgraph to output the graph in black and white (even if the display is color). This is useful for those using _x_w_d(_1) to produce hardcopies of the graph.

-bar Specifies that vertical bars should be drawn from the data points to a base point which can be specified with -brb. Usually, the -nl flag is used with this option. The point itself is located at the center of the bar.

-bb (BoundBox)
Draw a bounding box around the data region. This is very useful if you prefer to see tick marks rather than grid lines (see -tk).

-bd <color> (Border)
This specifies the border color of the xgraph window.

-bg <color> (Background)
Background color of the xgraph window.

-brb <base>
This specifies the base for a bar graph. By default, the base is zero.

-brw <width>
This specifies the width of bars in a bar graph. The amount is specified in the user's units. By default, a bar one pixel wide is drawn.

-bw <size> (BorderSize)
Border width (in pixels) of the xgraph window.

-fg <color> (Foreground)
Foreground color. This color is used to draw all text and the normal grid lines in the window.

-lf <fontname> (LabelFont)
Label font. All axis labels and grid labels are draw using this font. It must be a fixed-width font.

-lnx Specifies a logarithmic X axis. Grid labels represent powers of ten.

-lny Specifies a logarithmic Y axis. Grid labels represent powers of ten.

-lw width
Specifies the width of the data lines in pixels. The default is one.

-lx <xl,xh>
This option limits the range of the X axis to the specified interval. This (along with -ly) can be used to "zoom in" on a particularly interesting portion of a larger graph.

-ly <yl,yh>
This option limits the range of the Y axis to the specified interval.

-m (Markers)
Mark each data point with a distinctive marker. There are eight distinctive markers used by xgraph. These markers are assigned uniquely to each different line style on black and white machines and varies with each color on color machines.

-M (StyleMarkers)
Similar to -m but markers are assigned uniquely to each eight consecutive data sets (this corresponds to each different line style on color machines).

-nl (NoLines)
Turn off drawing lines. When used with -m, this can be used to produce scatter plots. When used with -bar, it can be used to produce standard bar graphs.

-p (PixelMarkers,SmallPixels)
Marks each data point with a small marker (pixel sized). This is usually used with the -nl option for scatter plots.

-P (LargePixels)
Similar to -p but marks each pixel with a large dot.

-rv (ReverseVideo)
Reverse video. On black and white displays, this will invert the foreground and background colors. It does nothing on color displays.

-s (Spline)
This option specifies the lines should be drawn as spline curves. Currently, this is implemented using the X spline option which fits only three points at a time. Thus, the effect is not what you might expect.

-t <string>
Title of the plot. This string is centered at the top of the graph.

-sb <string>
Subtitle of the plot. This string is centered at the bottom of the graph.

-tf <fontname> (TitleFont)
Title font. This is the name of the font to use for the graph title. It defaults to 9x15.

-tk (Ticks)
This option causes xgraph to draw tick marks rather than full grid lines. The -bb option is also useful when viewing graphs with tick marks only.

-x <unitname>
This is the unit name for the X axis. Its default is "X".

-y <unitname>
This is the unit name for the Y axis. Its default is "Y".

-zg <color> (ZeroColor)
This is the color used to draw the zero grid line.

Some options can only be specified in the X defaults file. These options are described below:

<digit>.Color
Specifies the color for a data set. Eight independent colors can be specified. Thus, the digit should be between '0' and '7'. If there are more than eight data sets, the colors will repeat but with a new line style (see below).

<digit>.Style
Specifies the line style for a data set. A sixteen-bit integer specifies the sixteen-bit pattern used for the line style. Eight independent line styles can be specified. Thus, the digit should be between '0' and '7'. If there are more than eight data sets, these styles will be reused. On color workstations, one line style is used for each of eight colors. Thus, 64 unique data sets can be displayed.

GridSize
Width, in pixels, of normal grid lines.

GridStyle
Line style pattern of normal grid lines.

ZeroSize
Width, in pixels, of the zero grid line.

ZeroStyle
Line style pattern of the zero grid line.

EXAMPLES

A test program for xgraph is included. Try the following command to check out xgraph:

xgtest 7 -5.0 5.0 0.1 | xgraph

This should produce a graph with a series of parabolic curves.

AUTHOR

David Harrison University of California

Modified by Ivica Crnkovic, ABB Automation AB, Sweden

NAME

xtree - program for graphical presentation and manipulation of tree structure

SYNOPSIS

xtree [input_file] [-ml max_char_in_box_label]
[-d output_file] [-ol | -op]
[-t title_text_for _printing] [-by | -bn]
[-f1 Xfont1] [-f2 Xfont2] [-f3Xfont3]
[-pf1PSfont1] [-pf2 PSfont2] [-pf3 PSfont3]

DESCRIPTION

Xtree is an application for graphical presentation and manipulation of tree structure, which takes, as an input, a file in standard format. Position in tree is determined by number of spaces in the beginning of line.The application can be used for various purposes, and in different ways, because it requires standard look of input file and does not say how file will be made and what it will represent.

The application is in the first place intended for use as a self-standing X Window client. It can be compared with an editor which will content of a loaded file present in a graphical way, like a tree structure, and enable its manipulation and printing. When data, representing a tree, are once loaded from file, you can interactively change the size of the tree on the screen, show the tree with or without node boxes, select part of tree and send it to printer, compare size of the tree with size of printer paper before you intend to print it. You can interactively decide where to send postcript file: directly to one of postcript printers in your network, or to save it in some file.

File name stdin as an input file name will force xtree to read standard input instead of some file from a disk. This can be useful for including xtree in pipeline.

The other way of using xtree is to make postcript file for tree structure directly without making any windows in the screen. The option -d is made for this purpose.

When a tree or selected part has a width or a height larger than paper size it is scaled to fit the page. If you do not like the print output you get, you can set additional scaling for less scaled dimension to get desired output look.

PARAMETERS

input_file

If input file name is specified, then tree will be shown in the application window, when it appears in the screen. If no input file name is specified, then application window will open empty and you can use menu bar option File, to open some of the files. If you want to use xtree in a pipeline, then use stdin as an input file name.
You can chose menu bar option in application and open a new file.

OPTIONS

Before using any option, it is important to know their precedence. The options from a command line are stronger than options from an input file, which are stronger then defaults. Those options which are set from a command line will overwrite options in all files which you open when you once start the xtree application. Some of the options can be changed interactively (like show tree with or without node boxes) and some can not (like font names).

-ml max_char_in_box_label

This option is used to set a limit on length of labels inside of boxes when boxes are used. Labels, whose length will exceed this value will be clipped. This is correct value only for Courier font family, because all all their characters have the same width. For other fonts you will have always more characters than you specify. Default value: 30.
This option does not have any effect when a tree is presented without boxes.
This option can not be changed interactively while application is running.
If used in input file: #MAXLABEL: max_char_in_box_label.

-d output_file

Directly produce Postcript file without making any windows on the display. Be sure that output file already does not exist, because xtree will simply overwrite output file which is not protected.

-ol,-op

Specifies orientation of tree in a printer page. It can be landscape (-ol), or portrait (-op). Default is -op.
You can set orientation interactively in application, each time you want to print.
If used in input file: #ORIENTATION: flag. Flag can be: P or L.

-by,-bn

Turns on, or turns off showing of boxes around node labels. Default is with boxes (-by). It can be changed interactively.
If used in input file: #BOX: flag. If flag = 1 (on), flag = 0(off).

-t title_text_for _printing

Page header text for printing. Default is without header. You can enter this text each time you want to print.
If used in input file: #TITLE: string

-f1 Xfont1 (-pf1 PSfont1)

Font used by X Windows(Postcript) to display main node text. Default is: courr.
If used in input file: #FONT1: Xfont_name.
(#PFONT1: name_of_postcript_font)

-f2 Xfont2 (-pf2 PSfont2)

Font used by X Windows(Postscript) to display the text above node boxes. Default is: courr.
If used in input file: #FONT2: Xfont_name.
(#PFONT2: name_of_postcript_font)

-f3 Xfont3 (-pf3 PSfont3)

Font used by X Windows(Postcript) to display the text under node boxes. Default is: courr.
If used in input file: #FONT3: Xfont_name.
(#PFONT3: name_of_postcript_font)

FONTS

X Windows fonts:

For proper functioning of the xtree application it is important to select valid font names. List of fonts available by your X server can be listed using the command xlsfonts. You can also take a look inside of /usr/bin/X11/fonts/ directory for the font families available on your system ( this directories have to be included in path; path can be seen and set using different options of command xset ).

You should only use those fonts which have sizes: 08, 10, 12, 14 and 18, because xtree uses this sizes of fonts when you change a size of tree. As a font name, use only a part of font name in front of part which determines the size. E.g. you should be able to use these fonts, from directory /usr/lib/X11/fonts/iso_8859.1/75dpi/ : courB, timR, timI, timB, ...

Authors advice is to use cour font family for main node labels if you intend to present them inside of boxes. Default is "courr", for all fonts.

Postcript fonts:

Postcript does not have any problems with font sizes. You just have to use some of Postcript font family names, like:

Courier, Courier-Oblique, Times-Roman, Times-Italic, Helvetica-Oblique, ...

Default is "Courier", for all fonts.

INPUT FILE FORMAT:

Blank lines are aloved in any part of an input file. Comments and options have to be gruped in the beginning. They have to start in the first column and begin with # character. For option names see part OPTIONS above. To be sure that your comments do not conflict with some of options, it is the easiest to leave one blank after leading #.

The root node of a tree has to start in the first column. If you need to have a character # as a first one in the root node main label, then use \ as an escape character before #. This worths only for a root node. You can normaly start any other label with any character, because it does not start in the first column.

Node lines start with main label. Main label can be followed by one or two additional labels, and in that case you have to use special options -u and -d, in front of this labels to determine their place (up or down from node box). Additional labels can be surrounded by quotes("..."), but it is not necessary, even if label consists of several words separated by blanks. Usage of quotes is only necessary in the cases that you have: quote as a string character, -d or -u inside of label. When you want to have a quote or backslash as a label character, then surround whole label by quotes, and use backslash as an escape character. E.g:

main node label -d "-d and label \"goes\" down" -u 3 words label

Tree with additional labels can be only presented with node boxes.

EXAMPLES

Input file example:
# Lets say that file name is probe.dat.
# Comments start in the first column and begin with #.
# Be sure that your comments do not conflict with option.
#BOX:0
#TITLE: This will be page header for printing
#PFONT1: Times-Italic
# DON'T USE TABS !!!

root
zeroone
zerotwo
zerothree
onethree
twothree
threethree
fourtwo
fiveone

xtree calls examples:
To produce just a postcript file for the previous example file, you can use pipeline:

cat probe.dat | xtree stdin -d probe.ps


To open the application window with tree for probe.dat, and use italic font for labels, type in command:

xtree probe.dat -f1 timI &


AUTHOR

Goran Mustapic



[Top] [Prev] [Next] [Bottom]

yourEmail@xyzcorp.com
Copyright © 1997, XYZ Corporation. All rights reserved.