上流レポジトリの準備
Changelogの更新
必須ではありませんが,推奨されます.(REP-132を参照のこと).
Changelogの生成
$ catkin_generate_changelog
catkin_generate_changelogを実行してCHANGELOG.rstの内容を更新します.CHANGELOG.rstを含まないパッケージのがある場合,--allオプションでそれぞれのパッケージへのコミット履歴がCHANGELOG.rstに入力されます.
Changelogの整形
Changelogの内容を確認し,整形してください.catkin_generate_changelogはコミット履歴を単に写しただけなので,Changelogの内容としてはふさわしくない場合があります.
注意: もしコミットメッセージがアンダースコア(_),たとえばメンバ変数(`name_'など)で終わっている場合,RSTがそれらをlink targetsとして扱うためにエラーとなります.エラーは以下のようなものです:
<string>:21: (ERROR/3) Unknown target name: "name".
これを修正するにはエスケープする必要があります.例えば: To fix this, you'll need to escape the variable, for example:
* fix for checking the ``name_``
コミット
## Review, Edit and Commit your changes! 変更したら,レビューし,修正し,コミットしましょう!
参考:
discussion in ros-sig-buildsystem ( this reference needs to be replaced with more proper document, not an email discussion thread)
If you decide to have one or more CHANGELOG.rst files, running these two commands is important; Incorrectly formatted CHANGELOG.rst can cause problems with your package. Remember to explicitly commit the changes to the Changelog!!
package.xmlのバージョンの更新
package.xmlのバージョン番号を増やし,同じ番号のタグを上流レポジトリに付けなければなりません.catkin にはそのためのcatkin_prepare_releaseというツールがあります:
$ cd /path/to/your/upstream/repository $ catkin_prepare_release
このコマンドは,あなたの上流レポジトリ内のパッケージを全て探索し,changelogがあることを確認し(コミットされていない変更がないことも確認して),package.xmlの中のバージョン番号を増やし,bloomで扱えるように同じ番号のタグを付けてコミットします.パッケージリリースを間違いなく一貫性のあるものにするためには,このコマンドを使うのが一番良い方法です.
デフォルトではこのコマンドは, 0.1.1 -> 0.1.2のように,バージョン番号のうちパッチ番号を一つづつ増やしますが,--bumpオプションでマイナー番号やメジャー番号を増やすこともできます.(訳注:バージョン番号は通常,(メジャー番号).(マイナー番号).(パッチ番号)-(リリース番号)の形式になっています)
catkin_prepare_releaseを使わない場合には,package.xmlに正しいバージョン番号が記され,同じ番号のタグが上流レポジトリに付くように気をつけなければなりません.