Trunk
Main repository holding all versions of files submitted over time by the technical writer (or more frequently, the developer).
Use Git or Subversion to manage technical documentation like source code: track changes, collaborate with your team, and roll back safely at any time.
Working with source files in text format, rather than binary, allows a technical writer to manage content similar to how developers manage code: using a Version controlRecording every change to a set of files so that any earlier state can be restored, changes can be compared, and several people can work in parallel. Git is the most widely used version-control system; docs-as-code keeps documentation under version control next to the product code.View in glossary → system such as Git or Subversion (or, historically, SourceSafe, discontinued around 2010).
These systems:
For text files, not binary ones, a version control system offers superior functionality:
The version control system keeps a history of changes.
Graphical user interfaces now allow these tools, initially designed for command-line use, to be accessed directly through file managers. However, the paradigm on which they are based can be challenging to understand for less technologically inclined users.
Source management systems use the following concepts:
Trunk
Main repository holding all versions of files submitted over time by the technical writer (or more frequently, the developer).
Branch
Secondary repository created from the main version of the source code.
Tag
A snapshot of the trunk or branch at a given time, allowing you to easily freeze a version, such as the published version, and create an archive.
Improper use of version management systems can result in data loss, but with the appropriate level of effort and skill, the risk is significantly lower if the technical writer handles text files under a version manager rather than binary files on a shared directory.
Source code management systems have a proven track record of reliability, managing millions of lines of code. They evolve slowly, adhering to a conservative policy, and are only released for production after thorough debugging, like file systems (Ext4, Btrfs, etc.). If the largest IT development projects, such as GNU/Linux, trust them, why not also use them for technical documentation? Integrating documentation into development processes describes exactly this approach.
One drawback, though: these tools are not specifically designed for the XML format and perform line-by-line comparisons between files rather than node-by-node comparisons, which can unnecessarily increase conflicts between commits or branches.