regexps.com
Large projects are often most naturally divided into a number of
independently maintained sub-projects. For example, arch
itself
consists of six separate projects:
./src A generic top-level source file for combining projects.
./src/arch arch itself. That is, the `arch' command and all of the shell scripts that implement it.
./src/file-utils Generic utilities for operating on files and directories.
./src/ftp-utils A scriptable FTP client.
./src/hackerlab The hackerlab C library.
./src/text-utils Generic utilities for operating on text files.
In an arch
source tree, each of those sub-directories is a separate
project tree (each has its own {arch}
subdirectory; each was
initialized by the command larch init-tree
; each is in a separate
category in the repository).
To put all the pieces together, use the arch
configuration
commands
:
(TO BE DOCUMENTED:)
Config file format, e.g.:
./configs/regexps.com/devo.arch:
# # Check out an arch distribution from the devo branches. # Latest revisions. #
./src lord@regexps.com--2002/package-framework--devo ./src/arch lord@regexps.com--2002/arch--devo ./src/file-utils lord@regexps.com--2002/file-utils--devo ./src/ftp-utils lord@regexps.com--2002/ftp-utils--devo ./src/hackerlab lord@regexps.com--2002/hackerlab--devo ./src/shell-utils lord@regexps.com--2002/shell-utils--devo ./src/text-utils lord@regexps.com--2002/text-utils--devo
and
% larch build-config --help instantiate a multi-project tree usage: build-config [options] config-name
-V --version print version info -h --help display help
--silent no output (except odd errors) --quiet brief output --report default output --verbose maximal output --debug debugging output -d --dir DIR cd to DIR first
Build the named configuration based on the specification in the "configs" subdirectory at the root of the project tree.
and
% larch update-config --help
update a multi-project tree usage: update-config [options] config-name
-V --version print version info -h --help display help
--silent no output (except odd errors) --quiet brief output --report default output --verbose maximal output --debug debugging output
-d --dir DIR cd to DIR first
--force pass the --force flag to update
Update the named configuration based on the specification in the "configs" subdirectory at the root of the project tree.
and
% larch replay-config --help
replay a multi-project tree usage: replay-config [options] config-name
-V --version print version info -h --help display help
--silent no output (except odd errors) --quiet brief output --report default output --verbose maximal output --debug debugging output
-d --dir DIR cd to DIR first
Update the named configuration based on the specification in the "configs" subdirectory at the root of the project tree.
and
% larch record-config --help
record a revision-specific configuration usage: record-config [options] config-name new-config-name
-V --version print version info -h --help display help
--silent no output (except odd errors) --quiet brief output --report default output --verbose maximal output --debug debugging output
-d --dir DIR cd to DIR first
-f --force overwrite an existing config
Update the named configuration based on the specification in the "configs" subdirectory at the root of the project tree.
and
% larch show-config --help
show the revision frontier of a configuration usage: show-config [options] config-name
-V --version print version info -h --help display help
--silent no output (except odd errors) --quiet brief output --report default output --verbose maximal output --debug debugging output
-d --dir DIR cd to DIR first
Print the revision frontier specified by the named configuration in the "configs" subdirectory at the root of the project tree.arch: The arch Revision Control System
regexps.com