.ig Copyright (C) 1993,1994 by the author(s). This software is published in the hope that it will be useful, but WITHOUT ANY WARRANTY for any part of this software to work correctly or as described in the manuals. See the ShapeTools Public License for details. Permission is granted to use, copy, modify, or distribute any part of this software but only under the conditions described in the ShapeTools Public License. A copy of this license is supposed to have been given to you along with ShapeTools in a file named LICENSE. Among other things, this copyright notice and the Public License must be preserved on all copies. Author: Andreas Lampen (Andreas.Lampen@cs.tu-berlin.de) $Header: sfind.1[6.0] Fri Jun 25 17:01:50 1993 andy@cs.tu-berlin.de frozen $ .. .TH sfind 1 "Fri Jun 25 17:01:50 1993" "shape_RMS-1.15" "ShapeTools" .SH NAME sfind \- shapeTools RMS recursively descend a system hierarchy .SH SYNOPSIS .B sfind .RB [ \-subs | .BR \-comp ] .I directory [\fIcommand\fP] .SH DESCRIPTION .B 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 .I directory downwards. According to the shapeTools RMS conventions, .I directory must contain a Shapefile which lists the subsystems in the variable \fCSUBSYSTEMS\fP and the subsystem components in the variable \fCCOMPONENTS\fP. Each subsystem is visited. .LP If no .I command is specified, sfind echoes the pathnames of the subsystems it finds, or, if the option .B \-comp is given, the pathnames of the components of each subsystem. .LP When a .I command is given, it is executed in the directory of each subsystem. The string ``{}'' in .I command is replaced by the pathname of the subsystem or component. .SH OPTIONS .TP .B \-subs .I command is invoked for each subsystem. This is the default. ``{}'' in .I command is replaced by the pathname of the subsystem. .TP .B \-comp .I command is invoked for each component. ``{}'' in .I command is replaced by the pathname of the component. .SH EXAMPLES List all system components: .IP \fCsfind -comp ~/development\fP .LP Show the pathnames of all versionfiles: .IP \fCsfind ~/development echo -n {}/ \\; shape -echo VERSIONFILE\fP .LP Echo identification of the last release of each subsystem: .IP \fCsfind ~/development vl \-last \-format \\ .in +1cm \\'\\$__lastrelease\\$\\\\n\\' \\ .br \\`shape -echo VERSIONFILE\\` \fP .LP Necessary quoting to echo a pair of curly braces: .IP \fCsfind ~/development echo two \\\\{\\\\} braces\fP .SH SEE ALSO find(1), sh(1), shape(1), shape_RMS(1), shape_tmpl(7) .SH CAVEATS Quoting of shell meta characters can be tough. .SH BUGS The program is slow because shape(1) is called at least once for each subsystem. .LP When .B sfind is interrupted, usually shape(1) displays the message ``shape \- interrupted'', which may be confusing. .SH AUTHOR Andreas.Lampen@cs.tu-berlin.de