このblogはMovableTypeと言うシステムを使って書いている。
MovableTypeがバージョンアップすると、フルセットのzipファイルで提供されるのだが、今まではバージョンアップするたびに以下の手順を踏んでいた。
せっかく、gitみたいなバージョンコントロールのシステムがあるのだから、なるべく手でやる手順は減らしてみることにする。
# ここまでやるなら、MTOSにして直接リポジトリとやるようにしたらもっと楽になると思うけど、今のところ個人無償ライセンスで製品版を使う。
今回は、MT-5_1-ja.zip(5.1)をベースにローカルな修正を加え、それをMT-5_11-ja.zip(5.11)に上げる手順をやってみる。
ここからは、5.11のzipを持ってきてからやること。
今回は、おそらくこう言う場合のためにあるであろうrebaseを使ってみる。
masterの修正内容と、localブランチの修正内容がぶつかる場合は Conflict が検出されて、自分で直して git rebase --continue とかやらないといけないらしいですが、今回は何のエラーも出ずに終わってしまいました。
git log --all --graph とか見ると、元のbranchとは別に新しくMT-5.11をベースにbranchが作られていることがわかる。
追記
なんとなく、rebaseよりもmergeの方が良いような気もしたので、mergeの手順も書いておく。最後のrebaseの所を以下のように変えるとmergeになる。
MovableTypeがバージョンアップすると、フルセットのzipファイルで提供されるのだが、今まではバージョンアップするたびに以下の手順を踏んでいた。
- 既存のmtディレクトリをリネーム
- 新しいzipを展開
- mt-config.cgiを古いディレクトリからコピー
- 追加していたpluginを古いディレクトリからコピー
- 追加していたtemplateを古いディレクトリからコピー
- 追加していたalt-tmplを古いディレクトリからコピー
- 自分用にカスタマイズするパッチをソースにあてる
せっかく、gitみたいなバージョンコントロールのシステムがあるのだから、なるべく手でやる手順は減らしてみることにする。
# ここまでやるなら、MTOSにして直接リポジトリとやるようにしたらもっと楽になると思うけど、今のところ個人無償ライセンスで製品版を使う。
今回は、MT-5_1-ja.zip(5.1)をベースにローカルな修正を加え、それをMT-5_11-ja.zip(5.11)に上げる手順をやってみる。
- リポジトリを作る
% mkdir mt % cd mt % git init
- リポジトリにMT-5.1をコピーして追加する。
% cd .. % unzip MT-5_1-ja.zip % cp -r MT-5.1-ja/* mt/ % cd mt % git add * % git commit -m "import 5.1" % git tag MT-5.1 ←tagでわかりやすい名前を付けておく
- ローカルの変更用のbranchを作成して、ローカルの変更を加える。
% git checkout -b local ... ローカルの変更を加える % git commit -a -m "local changes" % git tag MT-5.1l
ここからは、5.11のzipを持ってきてからやること。
- masterブランチに5.11をコピーする。
% git checkout master ←カレントディレクトリはmt % rm -rf * ←バージョンアップで削除されたファイルがある場合に対応するため % cd .. % unzip MT-5_11-ja.zip % cp -r MT-5.11-ja/* mt/ % cd mt % git status ←これをやると、何が追加/削除/変更されたかわかる % git commit -a -m "import 5.11" % git tag MT-5.11
今回は、おそらくこう言う場合のためにあるであろうrebaseを使ってみる。
- rebase
% git checkout local % git rebase master .... conflictせずに成功したら % git tag MT-5.11l
masterの修正内容と、localブランチの修正内容がぶつかる場合は Conflict が検出されて、自分で直して git rebase --continue とかやらないといけないらしいですが、今回は何のエラーも出ずに終わってしまいました。
git log --all --graph とか見ると、元のbranchとは別に新しくMT-5.11をベースにbranchが作られていることがわかる。
追記
なんとなく、rebaseよりもmergeの方が良いような気もしたので、mergeの手順も書いておく。最後のrebaseの所を以下のように変えるとmergeになる。
- merge
% git checkout local % git merge MT-5.11 ←masterでも良いけどtagを指定した方がmergeのlogがわかりやすいと思う .... conflictせずに成功したら % git tag MT-5.11l
カテゴリ
MovableTypeトラックバック(0)
このブログ記事を参照しているブログ一覧: gitを使ってMovableTypeのバージョンアップを追いかける
このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/2691
コメントする