Hatena::ブログ(Diary)

A Day in Serenity @ kenjis

2012-02-20

もし FuelPHP のバグを見つけたら (5)〜Pull Request 後の修正

(2012/07/14) この一連の記事をまとめ加筆修正しアップデートした電子書籍をリリースしました。よろしければ、ご覧ください → 『FuelPHP に貢献する方法』

の続きです。

前の記事を読んでいない場合は、先に読むことをお薦めします。

今日は、Pull Request 後にコア開発者などからコメントが付いて、Pull Request した変更を修正する場合です。

修正前の準備

まず、1.1/develop ブランチを最新の状態にします。

$ git checkout 1.1/develop
$ git fetch upstream
$ git merge upstream/1.1/develop

ログを確認すると、以下のように開発が進んでいます。

f:id:Kenji_s:20120218114332p:image

Pull Request 用のブランチ(ここでは fix_form)を rebase して最新状態を反映させましょう。-f オプションを忘れないように。

$ git checkout fix_form
$ git rebase -f upstream/1.1/develop

First, rewinding head to replay your work on top of it...

Applying: improve Form::prep_value

Using index info to reconstruct a base tree...

Falling back to patching base and 3-way merge...

Auto-merging classes/form/instance.php

Auto-merging tests/form.php

CONFLICT (content): Merge conflict in tests/form.php

Failed to merge in the changes.

Patch failed at 0001 improve Form::prep_value

When you have resolved this problem run "git rebase --continue".

If you would prefer to skip this patch, instead run "git rebase --skip".

To restore the original branch and stop rebasing run "git rebase --abort".

コンフリクトしましたので、エディタで開いて修正します。修正が完了したら、

$ git add tests/form.php
$ git rebase --continue

として rebase を完了します。これで、Pull Request に修正を追加する準備ができました。

Pull Request の修正

普通に修正してコミットします。sign-off を忘れずに。

そして、GitHub に Pull Request 用のブランチを push します。-f オプションを忘れないように。

$ git push -f origin fix_form

push が完了すれば、Pull Request に自動的に反映されます。これで完了です。

もし FuelPHP のバグを見つけたら (6)」へ続く。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証