COALL(1)

NAME
coall - bring an RCS-managed source tree up to date

SYNOPSIS
coall [-vtnxl] [directory...]

DESCRIPTION
Coall brings a source tree up to date with respect to its RCS-managed master. It recursively descends the named directories, or the current directory if none is specifed. In each directory visited, coall looks for the subdirectory RCS, which may be a true subdirectory or a symbolic link. This subdirectory is assumed to contain the RCS masters for the files in its parent. Any files which are missing, or whose masters have changed, are checked out with co -q

Coall is normally silent. The -v switch makes it provide a running commentary on stderr.

-n prevents the files from being checked out. Instead the full pathname of the slave files are printed on stdout, one per line.

The -t flag alters the comparison used, so that only those files whose slave exists and has a different timestamp to the master are reported. This flag implies -n; nothing is checked out.

The flag -x causes missing files to be ignored; only those files which are present but outdated are affected.

By default, symbolic links to subdirectories will not be descended. (Symbolic links to RCS master directories are, though.) Specifying -l forces coall to follow all symbolic links. Use this with care.

DIAGNOSTICS
If a directory cannot be read, a warning message is printed and the directory and its children are skipped. If a file cannot be examined with stat, then a message is printed and the file is skipped. Other errors cause termination with a suitable message. The exit status reflects reason for termination: 0 means normal termination; 1 means an unexpected error occurred; 2 means that the program's resource limits were exceeded; 3 means that the exec of co failed.

Any error messages from co will appear on stderr, interleaved with the commentary from coall. If co should return an abnormal exit status, then coall will report it to the user and continue.

SEE ALSO
ci (1), ident(1), rcs (1), rcsdiff (1), rcsintro (1), rcsmerge (1), rlog (1), skel(1), rcsfile (5), sccstorcs (8).

Walter F. Tichy, "Design, Implementation, and Evaluation of a Revision Control System," in Proceedings of the 6th International Conference on Software Engineering, IEEE, Tokyo, Sept. 1982.

LIMITATIONS
Only works if you keep your RCS masters in RCS subdirectories.

The following limits are hardwired into the program. Maximum number of checkouts per directory: 2000. Maximum number of subdirectories in each directory: 50. Maximum length of subdirectory name: 30 characters. These limits will be removed in a later revision.

If these limits are exceeded, coall displays an error message and terminates with exit code 2.

BUGS
On very deep trees you may run out of stack space. This usually causes the message "getwd: can't stat /", though it may instead cause a bus error. If this happens, increase your stacksize with the csh command limit and try again.

Filenames are reported as a full pathname under -n, but as directory and filename (separated by a space) under -t.

The options are a bit of a mess.