操作
Task(タスク) #4172
完了新masterブランチへの移行
開始日:
2017-03-15
期日:
進捗率:
100%
予定工数:
説明
現行の master ブランチを廃止し、OpenPNE 3.8 系ベースの新しい master ブランチに移行します。
現状の問題点¶
- PHP7 への移行 (#4112) を進めるためには、フレームワークの変更やそれに伴う最低動作要件 (PHPバージョン) の変更など、最小限に留めるにせよ互換性を損なう変更が不可欠であるため安定版ブランチで実施することはできない
- OpenPNE 開発版のブランチである master は事実上メンテナンスされていない
- バグチケットを含む一切の Pull Request は master および各安定版ブランチに対して作成されるが、テストが行われマージまで実施されるのは安定版ブランチのみである
- 現在の master ブランチは stable-3.8.x よりも古い状態となっており、バグ修正等を現行の安定版と同程度にするためには放置された多くの Pull Request を処理する必要があり、膨大な手間が掛かると予想される
解決策¶
- 現行の master ブランチを廃止し、old-master ブランチに改称する
- master ブランチに対して作成されていた Pull Request は、old-master ブランチに対する Pull Request として残す (クローズするかどうかは要検討)
- 最新の安定版バージョンをベースとして、新たな master ブランチを作成する
- 予定されているのは OpenPNE 3.8.23 ベース
- これまで master ブランチにのみ作成されていた機能追加等の Pull Request については、必要に応じて個別に新 master ブランチに対する Pull Request を作成する
手順¶
git clone git@github.com:openpne/OpenPNE3.git openpne3
cd openpne3
git branch -M master old-master
git branch master OpenPNE-3.8.23
git push origin old-master master --force
移行後の作業¶
- master ブランチ宛に作成されている全ての Pull Request のベースブランチを old-master に変更する
- Redmine のチケットでの「対象バージョン」の扱い
- old-master ブランチ (旧 master ブランチ) に紐付いたままのチケットは OpenPNE 3.9.0-old に、新しい master ブランチで進行するチケットは OpenPNE 3.9.0 に設定されます。
操作