Operation rules and tools to manage Aozora-bunko text files in a Git repository
Aozoraflowは「青空文庫のテキストをGitリポジトリで管理する為の運用規約」と「それをサポートするためのツール」です。
運用規約はちょうどVincent Driessenさんのブランチングモデルで述べられているような、ブランチの作成・消去のルールです。実際、Aozoraflowはこのgit-flowブランチングモデルから大きな影響を受けています。さらにGitHubで広く知られることになったプルリクエストのモデルを組み合わせています。
作品毎にひとつのGitリポジトリを作ります。リポジトリ名は{作品ID}.gitになります。
-
editブランチ
編集中テキストが置かれるブランチ。実際の修正自体は後述のtypingブランチおよびproofingブランチで行われ、editブランチへはmergeされる事により変更が反映される。
-
typingブランチ
入力中のテキストが置かれるブランチ
-
proofingブランチ
校正中のテキストが置かれるブランチ
-
masterブランチ
現在公開されている、あるいは過去に公開されたテキストが置かれるブランチ
-
TYPE_COMPLETE
全ての入力が完了したことを示すタグ
-
PROOF_COMPLE
全ての校正が完了し、いつでも公開可能な状態であることを示すタグ
-
PUBLISHED
現在公開中のバージョンを示すタグ
- editブランチから枝分かれしてtypingブランチを作成する。
- 入力途中でも変更を適宜typingブランチにコミットする。
- 入力が完了したら、editブランチに対してマージするためのプルリクエストを出す。
- リポジトリ管理者はプルリクエストを確認し、問題なければeditブランチにマージする。
- 全ての入力が完了したら
TYPE_COMPLETE
のタグを付ける
- editブランチから枝分かれしてproofingブランチを作成する。
- 校正での修正を適宜proofingブランチに対してコミット。
- 校正が完了したら、editブランチに対してマージするためのプルリクエストを出す
- リポジトリ管理者はプルリクエストを確認し、問題なければeditブランチにマージする
- 全ての校正が完了したら
PROOF_COMPLETE
のタグを付ける
- 公開の基準を満たしていることを確認し、
PROOF_COMPLETE
のタグの付いたバージョンをmasterへマージする - マージしたコミットに
PUBLISHED
のタグを付ける