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