SVNリポジトリの使用方法について
Subversionの各リポジトリ(trunk、tags、branches)の運用方法について記載します。
次期バージョンの開発を行なう場合
次期バージョンの開発(新規機能追加や既存機能改修など)を行なう場合は trunk にて作業を行ないます。
その為、trunkは常に最も新しい状態(開発版)となっています。(不具合がある可能性も高い)
開発を終えたバージョンをリリースしたい
trunkでの開発を終えたバージョンをリリースする場合、 branchesにバージョン番号のディレクトリを作成 し、枝分かれさせます。
リリース作業はbranchesに作成したリポジトリで作業を行ないます。
(例)
sample_appシステムの場合、「sample_app/branches/2.1」といった具合
リリース後、不具合が発生したので対応したい
リリース後の不具合対応はbranchesで管理している該当のバージョンのリポジトリに対して修正を行ないます。
その為、 branchesでの修正内容は状況に応じてtrunkにマージ する必要があります。
(次期バージョンでは前のバージョンの不具合修正を反映させなくても良いなどのケースではマージする必要はないが、原則は常にbranchesの修正内容はマージすること。)
安定版として保存しておきたい
リリース後branchesでの不具合が収束し、安定版として保存しておきたい場合はbranchesからtagsへコピーします。
大幅な改修などメジャーバージョン番号が変わるような改修が入った場合、不測の事態に備えていつでも元に戻れるように前のバージョンを保存しておく必要があります。
(例)
大幅な業務変更のため、メジャーバージョン番号を1.Xから2.Xに変更する。
その際、1.Xの最終安定版のバージョンである1.9をtagsへスナップショットとして保存しておく。
万が一、2.X系リリース後に大きな不具合が発生し、1.X系に差し戻す場合はtagsで保存しておいた1.X系の最終安定版の1.9に置き換える。
sample_appシステムの場合、「sample_app/tags/1.0」といった具合。