Subversionレポジトリ構成
本格的にソフトウェアのレポジトリ管理をするのは初めてなので変なところもあるかもしれないが、以下のようにやってみることにした。(構成イメージ図)
/svnroot-tritonn/mysql-5.0-community /svnroot-tritonn/mysql-5.0-community/trunk /svnroot-tritonn/mysql-5.0-community/branches /svnroot-tritonn/mysql-5.0-community/tags /svnroot-tritonn/mysql-5.0-community/tags/mysql-5.0.41-bk /svnroot-tritonn/mysql-5.0-community/tags/mysql-5.0.41-tritonn-1.0.2
MySQL 5.0 Enterprise Server向けとMySQL 4.1向けは同じsvnroot-tritonn配下にそれぞれ別プロジェクトとして管理。
trunkに最新のソースコード
branchesには今はまだ使ってないけど、大きな機能追加とか大規模な改良などの際に使用。
tagsに、bitkeeperから落とした状態の各バージョンをsuffixとして"-bk"をつけて保管。
tasgに、リリースしたtritonnの各バージョンのものを保管。
で、従来型のpatchを作るときは、tagsの同じMySQLのバージョンのbk版とtritonn版をsvn diffするとできる、と。このdiffがsource distributionに対して正常に機能するのかどうかは分からんけど。。。まあpatch配布そのものはsource配布になった時点でフェイドアウトすることになるのでいいでしょう。
ところで、bitkeeper上のmysql-5.0がclone-5.0.42-buildタグの後、mysql-5.0.42タグが作成されていないのがちょっと気になるところ。これまではclone-XXX-buildとほぼ同じ週にmysql-XXXタグができてるんですけどね。