TechWhirl (TECHWR-L) is a resource for technical writing and technical communications professionals of all experience levels and in all industries to share their experiences and acquire information.
For two decades, technical communicators have turned to TechWhirl to ask and answer questions about the always-changing world of technical communications, such as tools, skills, career paths, methodologies, and emerging industries. The TechWhirl Archives and magazine, created for, by and about technical writers, offer a wealth of knowledge to everyone with an interest in any aspect of technical communications.
Read the colon as "depends on". The file adminguide will be rebuilt
whenever any file to the right of the colon changes. The second
line is the command used to rebuild it. There can be more than one
There can be another rule saying that you build configfile from
some text files and 20 graphics files. It will be checked whenever
the above rule is. If necessary, configfile will be rebuilt, then
adminguide rebuilt using the new version of configfile. This is
all automatic once you get the Makefile built.
RCS is a revision control system, automating version management.
It keeps only a few versions plus diffs. e.g. You don't need to
store 20 megs each for versions 1.1, 1.2, 1.3 ... Just store one
version and enough info on the changes you can automatically
re-create the others at will.
CVS is built on top of RCS and automates multiple developers
on different machines working on a project. There's a CVS
repository somewhere, run by RCS, with the canonical version
of the files. They are split into modules. For my examples,
assume there's a module named "docs". Some of the commands
I have are:
cvs checkout docs
gives me everything in the module, in a directory
named "docs". From here on, assume I work in that
updates my copy from the repository, getting any
changes others have made
cvs add myfile
tells cvs about a new file. Also works for directories
cvs remove myfile
deletes a file from the repository. Old versions are
still available, but no current version.
makes my changes (cvs add/remove and any file edits
I have done) affect the repository. Once I've done
this, anyone else doing "cvs update" will get ny
There are fancier commands that let you manage multiple
versions. Some customers have 2.7, others 3.1 and there's
a beta of 4.0? I can check out each separately and make
my changes apply selectively.
Of course there can be conflicts. Say you and I both edit
the same file then both try to commit different modified
CVS handles some simple cases. It can have authorisation
rules; you may be blocked from updating my files. If we're
both authorised and we edited different paragraphs it just
accepts both sets of changes. When it hits something it
cannot handle, it produces an error message and leaves
the humans to sort it out.
All the above tools are free off the net, or included in
any Linux or *BSD CD you might buy, or in Unix tools for
Windows projects like:
> We already got burned for a couple grand on the (now obsolete)
> "AuthorAssistant" software, formerly by Tier2 ... it simply would never
> allow us to check in referenced graphics!
> FedEx already uses Documentum (in the Frame+SGML part of the company),
> but seems to be overkill, and we're leary of any such 'enterprise-wide'
> sys that we don't/won't have much local control over.
> Steve Gillespie
> Sr Tech Writer
> Ground Operations Policy Analysis
> FedEx Express
> Memphis, TN
> sgillespie -at- fedex -dot- com