NAME
sfind - shapeTools RMS recursively descend a system hierarchy
SYNOPSIS
sfind [-subs | -comp] directory [command]
DESCRIPTION
Sfind recursively descends the system hierarchy of a software system
managed by the shapeTools Release Management System (shapeTools RMS).
Sfind starts it’s search from directory downwards. According to the
shapeTools RMS conventions, directory must contain a Shapefile which
lists the subsystems in the variable SUBSYSTEMS and the subsystem
components in the variable COMPONENTS. Each subsystem is visited.
If no command is specified, sfind echoes the pathnames of the
subsystems it finds, or, if the option -comp is given, the pathnames of
the components of each subsystem.
When a command is given, it is executed in the directory of each
subsystem. The string ‘‘{}’’ in command is replaced by the pathname of
the subsystem or component.
OPTIONS
-subs command is invoked for each subsystem. This is the default.
‘‘{}’’ in command is replaced by the pathname of the subsystem.
-comp command is invoked for each component. ‘‘{}’’ in command is
replaced by the pathname of the component.
EXAMPLES
List all system components:
sfind -comp ~/development
Show the pathnames of all versionfiles:
sfind ~/development echo -n {}/ \; shape -echo VERSIONFILE
Echo identification of the last release of each subsystem:
sfind ~/development vl -last -format \
\’\$__lastrelease\$\\n\’ \
\‘shape -echo VERSIONFILE\‘
Necessary quoting to echo a pair of curly braces:
sfind ~/development echo two \\{\\} braces
SEE ALSO
find(1), sh(1), shape(1), shape_RMS(1), shape_tmpl(7)
CAVEATS
Quoting of shell meta characters can be tough.
BUGS
The program is slow because shape(1) is called at least once for each
subsystem.
When sfind is interrupted, usually shape(1) displays the message
‘‘shape - interrupted’’, which may be confusing.
AUTHOR
Andreas.Lampen@cs.tu-berlin.de