パッチの apply など

以前、パッチベースの開発フローを採用してる開発プロジェクトで云々、な事をしてたことはあるのですが、パッチを作成して投げるのみ、でした。
で、先程とあるアプリの中でサーバとやりとりしてる箇所が一つだけありまして、そこの URL を最終版をリリースするまではステージングなソレにしたいとのご要望を頂戴しております。
このアプリケーションプロジェクトはいくつか微妙な branch がありまして、それら全てに展開させたい場合は patch を作ってそれを apply する方が効率的。という事で git am の練習がてら作業着手な次第です。
これ、そのまんま git format-path で patch を作ってそれを git am すれば良いのかな。

ヤッてみる

とりあえず branch して commit を作ります。

$ git checkout -b stagingURL
$ vi hoge
$ git add .
$ git commit

その後以下。

$ mkdir ~/tmp/patch.20130801
$ git format-patch -o ~/tmp/patch.20130801/ master..stagingURL

で、対象になってる適当な branch から branch 作って試験。

$ git checkout sozaiTest
Switched to branch 'sozaiTest'
$ git checkout -b sozaiTest-staging
Switched to a new branch 'sozaiTest-staging'
$ git am ~/tmp/patch.20130801/0001-Modify-server-URL-to-staging-environment.patch 
Applying: Modify server URL to staging environment
Toshiakis-MacBook-Air:pointcard-20130711 rms$ git status
# On branch sozaiTest-staging
nothing to commit (working directory clean)

git log 見てみると commit まで作成された状態になるんですね。これは便利。branch するのは面倒なので対象になってる branch にそのまま git am してしまう事に。

個人的には

この patch ベースのワークフローって凄く良いな、って思っているのですが、某 LKML 式でメイルで patch を受け取った時にどうやってそれを apply するかはまだ分かっていなかったりしています。Gmail で受信した後に本文テキストをファイルに貼って云々、なのかどうか。

なんとなく

patch の試験はしていたような気がしてきつつある午後。後天性記憶不全は大変だなぁ (何