Background
I come from a hardware development engineering background. Our detailed specifications contained a revision history as a table at the end or beginning of the—typically MS Word—document. These specs were saved in a document management system separate from the management system used to store the hardware design deliverables, such as the schematics and board layout files. Sometimes a document management system wasn't used for the specs and instead the filename contained the doc revision number. This always felt like a suboptimal solution given that someone would start modifying a doc with a downlevel revision.
Questions
I've started working on a software project that is using DVCS (Git), and am planning to write the specs/docs as text files using Markdown, instead of MS Word docs. I like the idea of having everything in the DVCS, including the specs and user documentation. However, it seems like the specs and documentation should not be stored in the same repository as the actual code. This leads me to my questions:
- Should specs/docs be stored in a separate repository from the code?
- Should there be a separate repository for each spec/doc?
- Do software engineers/coders normally put a revision history in their specs and documents given that the DVCS provides the ability to have a revision history?