Version control system
A version control system allows tracking of changes to primarily text files although some binaries can be tracked as well. Sometimes these are called DVCS for Distributed Version Control System to emphasize the collaboration capabilities.
[edit] Source control
Generally the source document is what you want to control. This is generally a text document unless some program is being used to create it and it saves the source in some binary format. Binary formats are very difficult to work with if you want to be able to identify specific changes that were made at various times. For this reason, even if the program can save a binary file, you will likely want to use a text format. This does not necessarily mean it has to be pure TXT but only that it have human readable form such as RTF. Formats based on XML such as XHTML is another good format that preserves both the text and the formatting particularly for ePub and MOBI (Amazon AZW).
Programmers are the mostly likely groups that use source code control systems but they are not the only ones that can benefit.
[edit] eBook generation
It is possible to use a source control system to manage a book you are writing. This would allow you to revert to an earlier version easily if the changes turn out to be worse than you thought they would be. It is also useful when others participate in the book generation, such as editors and proof readers. It requires a bit more discipline in that the files used for the book must be checked in to preserve a version and checked out when modified to both control the changes and to avoid having multiple people changing the same document at the same time.
Some writing tools keep track of changes internally. For example Word can do this in some versions. In other cases it may be best to use a separate program and use both versioning and checkout processes to control the manuscript.
For collaboration authoring there is a protocol called WebDAV. Collaboration can be done over the network permitting users to be far away from each other.
[edit] Source control systems
There are many control systems available and some of them are free.
- An example is Bazaar which is free.
- Subversion is another client/server software with many client implementations but for Windows the TortoiseSVN release is a good one. The home site for SVN is http://subversion.apache.org/
- git is a well known collaborative free opensource VCS software :
- Fossil DVCS uses SQLite for its database and it also includes bug tracking, wiki, and blog capabilities, all of which are set up for distributed operation. It has a Web based GUI built-in.