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.
Quigley, Kathy wrote:
> We have two sets of website files in TortoiseCVS and I have found it
> fairly easy to use.
>
> One tip: it's better to check out the files to your hard drive.
A few clarifications for those who may be mystified by this talk of
CVS and similar (namely Subversion, or Svn).
Maintaining and accessing a version-controlled file repository is a
client-server proposition. The "repo" (repository) exists on a
server. It's just a tree of folders and files, like any filesystem,
that additionally keeps track of every change those folders and
files have undergone over time.
You can set-up the server on your local box for your own use, or
remotely, potentially for shared use or just for safe keeping.
Careful here: "server" doesn't mean dedicated iron. It refers
instead to a daemon (say "demon"), what's called a "service" on MS
Windows. It runs on a box that may provide lots of other services.
It's a virtual notion, rarely a dedicated box.
CVS (Concurrent Versions [or Versioning] System) is a very popular,
open-source version control daemon. Subversion (often called Svn)
is an improvement on CVS. It's better behaved. Nobody starting
from scratch would choose CVS over Svn. Everybody using CVS is
trying to figure how to switch without pain. Svn is also free and
open-source.
To access a CVS or Svn file repository, you can use commandline
tools or a GUI client. If your repo is remote, you probably access
it over WebDAV (http) or SSH (secure shell).
What does "access it" mean?
Somebody (maybe you) established the initial fileset, the folders
and files under version control. Using the commandline or a GUI
client, a user downloads ("checks out") a "working copy" of the
files she wants to work on, to her local box.
She edits, creates, deletes, or otherwise modifies the files in her
working copy, then "commits" her changes back to the repo as a set,
establishing a milestone. Each commit is a roll-back point.
In a shared repo, other users may have modified the same files at
the same time. That's okay. It's better to have some communication
as to who's working on what and when, but the worst case is that if
there are conflicts, a human will have to merge and resolve them
manually. Importantly, nobody's work is ever lost.
Naturally these systems work optimally with text files, but you can
place binaries (images, MS Word, or FrameMaker files, e.g.) in the
repo and changes will be faithfully tracked. With text files, you
can view the "diffs" (differences, character-by-character,
line-by-line) between versions. For binaries, the whole file is
versioned. There's no "track changes" effect, à la MS Word, but,
again, nothing is lost.
# # #
When John Posada asks for recommendations on a CVS client, he's
asking which GUI CVS *client* do people like best. He'll use that
client to "check out" a working copy from the repo, make changes
with his usual tools, then use the client to commit the changed
files back to the repo. By bracketing these operations with the CVS
client, everything's done within the version control scheme.
You're not limited to changing file contents: you may rearrange the
directories, too, and create new files. But within your checked-out
working copy, you can't start moving files around with an ordinary
file manager (perhaps Windows Explorer) that's unaware of the
version control system in use, or your working copy will fall out of
sync and you won't be allowed to commit your changes back to the
repo. No freelancing allowed.
# # #
Svn (Subversion) differs from CVS in that commits are fully atomic,
meaning that if all of your changes won't successfully commit, the
entire commit fails.
# # #
Tigris's "Tortoise" products (also free), then, are client software.
Your files in the version-controlled repository aren't "in"
TortoiseCVS (say), they're in CVS, and you just happen to be using
TortoiseCVS to access the repo.
You don't have the _option_ of checking-out a working copy from the
repo or working on the repo's files directly, you are *always*
checking out a working copy and committing back your changes.
# # #
CVS, Svn, and similar systems are incredibly powerful, once you've
got your brain around them. Most folks are hip to the benefits of
backing-up their home directories (MyDocuments?) as a way of
preserving all their work. What if you placed your entire home
directory under version control, and did an automated nightly commit
to a version-controlled repository? You'd not only have a full
backup but a full backup with *memory*, able to be rolled-back to
any point in, say, the past twenty years. It's not a crazy notion.
Techcomms really, really need to be hip to CVS-like systems. Most
of us have crossed paths with the various proprietary schemes from
Merant (PVCS), Microsoft (VSS) and others, often pretending to
understand them. (That's okay: most non-devs in the meeting are
pretending, too.) But we can use this stuff in our own work or at
home, and it doesn't cost a dime. The proprietary version control
schemes all leverage the free ones, and hope you'll never find out.
# # #
Next time you're starting a project at home -- a website for
somebody, or your résumé, for example -- consider installing an Svn
server on your computer and using something like TortoiseSvn to open
and save your changes. Five versions down the line, when you're
wishing you could just stop and go back to whatever you had two
years ago ... you can.
WebWorks ePublisher Pro for Word features support for every major Help
format plus PDF, HTML and more. Flexible, precise, and efficient content
delivery. Try it today!. http://www.webworks.com/techwr-l