I'm looking for something that has the following features:

  • Single file that has all versioning information stored in it (I believe Microsoft Word has a feature similar to this).
  • I only need it for plain text (as opposed to rich text/binary formats).
  • Shouldn't require a server/repository.

Ideally there should be a text editor/interface which allows you to both view older versions of the file, plus edit the latest version, on Windows and/or Mac.


I don't think you'll find the exact feature set of Word for plain text. There are tools that give you a nice comparison view of two versions (but you have to manage the versions yourself), and there are full-blown version control tools, but these usually require a repository. In any case, you'll be using two or three different pieces of software: the version control backend, an interface to that backend, and a text editor.

Strictly speaking, RCS meets all your requirements. It provides version control for a single file foo and stores version history in a single file foo,v. You do need to perform checkouts and checkins: the workflow is to obtain foo,v, check out a version (which creates foo), work on foo, then check in a new version into foo,v. A downside of RCS is that it's a little old-fashioned, so you won't find as many user-friendly interfaces for it as more modern version control tools.

If you're going to be working on the file on a single computer, I recommend you set up a modern version control system — pick Subversion if you have no particular preference. If you're going to be working on several different computers, I still recommend you set up a modern version control system, but you may want to use a distributed system such as Bazaar, Git or Mercurial. Setting up a server is likely to be a lot less hassle than managing the distribution of updated versions, especially if several people are going to contribute versions.

For Windows, you may want to investigate the Tortoise family of interfaces to version control software: TortoiseSVN, TortoiseCVS, TortoiseBzr, TortoiseGit, TortoiseHg.

Many advanced text editors have built-in support for version control (you'll need to have the underlying command-line tools, but the editor can provide your the interface needs). Emacs in particular has a very good, unified interface to most version control tools (including RCS); for Windows, get EmacsW32.

  • I'd agree and say go rcs if you can, you can get a lot done with co -l filename and not worry about much else. – Rich Homolka Oct 11 '10 at 15:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.