-
Notifications
You must be signed in to change notification settings - Fork 7
TianoCore Documents GitBook Overview
The TianoCore Project uses the GitBook to publish specifications. These specifications are implemented using the Markdown document source format and stored in GitHub repositories in the TianoCore-Docs project. These specifications may be published in HTML, PDF, MOBI, and EPUB formats from the GitBook TianoCore-Docs project and links to the published documents are provided in the TianoCore Wiki pages for specific projects or releases. The figure below shows the relationships between these services and the types of activities that are performed by developers and administrators. The sections that follow provide the information required to perform these activities.
- Register for Services
- Install Required Tools
- Document Layout
- Editing Documents
- MarkDown File Headers
- Commit Message Format
- Releasing Documents
- Adding a Document
- Removing a Document
In order to support review and use of the documents, it is important links are created between content in the different services. This simplifies the patch review process, and also allows consumers of the published documents to see the document changes associated with each resolved issue and also review discussions related to each document change. The required links include:
-
Each documents
README.md
file must provide a Revision History section and this section must contain the hyperlink to a TianoCore Bugzilla issue for each document change. -
The GIT commit message for a document change must contain the list of hyperlinks to the TianoCore Bugzilla issues the commit resolves.
-
The TianoCore Bugzilla issue must contain a comment with the list of hyperlinks to GIT commits that resolve the issue.
Editing Documents describes how each of these links are provides during the document editing process.
With these three links in place, a developer reading a document published by the GitBook server can look at the Revision History to see what has changed. If there is a specific change they want to review, then the link to the TianoCore Bugzilla issue can be followed. This TianoCore Bugzilla issue provides a summary of the change and any discussions on the change that was made, and in some cases may include links to edk2-devel mailing list discussions. One of the last comments in the TianoCore Bugzilla issue contains links to the GitHub commits. Each of these links can be followed to see the exact document content changes. GitHub provides a color coded content change view for MarkDown files.
A developer can also start from the tianocore-docs document repository commit history and follow the links in a commit to the TianoCore Bugzilla issues.
Each document in the TianoCore-Docs project
is stored in a single repository. The master
branch in each repository contains
the latest draft of that document. Document releases are made by creating
a release branch with the branch name format of release/x.yy
where x
is the
major version of the document, and yy
is the minor version of the document.
Typically, a release branch for a document contains only a single commit that
converts the document from a draft version to a released version. However, if
a critical issue is found in a released document, then additional commits for each
document errata can be made on the release branch. The following diagram shows an
example document with the latest draft on the master
branch along with three
release branches. One errata has to be provided for a critical issue on the 0.10
release of the document.
Errata
--->
release/0.10 / \
/--------------------------->
/ release/0.30
/ /----------------->
/ / release/1.00
/ / /------------------>
master / / /
---------------------------------------------------------------> Latest DRAFT
\ /
\--->
Document Change