LoginSignup
3

More than 5 years have passed since last update.

posted at

updated at

LibreOfficeCalcに関数候補表示機能を付けるまで 最終回 LibreOfficeにコミットしてみる

前回のまとめ

やりたかったことを全部実装して満足した。

LibreOfficeのコミッターになる

参考文献(Development/gerrit/SubmitPatch)
これを読んでみると、どうやらまずContributor listに登録する必要があるらしい。
英語のメールを送って、その後gerritに登録する。

参考文献(Development/gerrit)
ここからgerritにアクセスして、右上のRegisterから登録する。OpenIDは、例えばyahoo!japanのIDを使いたかったらyahoo.co.jpと入力すればOK。

LibreOfficeのドキュメントに従ってビルドした人なら、多分LibreOfficeのフォルダに/logerritなるファイルがあるはず。それをwikiに書いてあるとおりに実行するだけ。

https://gerrit.libreoffice.org/Documentation/cmd-hook-commit-msg.html
コミットする前に、ここを参考にして、Change-Idなるものを自動でコミットメッセージ最下部に付けてくれる設定をしておく。
最初にレビューを受けるときはこう。

$ git checkout -b <適当な名前>
# 自分好みにコードを書き換える
$ git add file [file ...] # 変更したファイルや新しいファイルを全部指定する
$ git commit
$ ./logerrit submit master

そして、更新するときはこう。

$ git checkout <適当な名前>
# 自分好みにコードを書き換える
$ git add file [file ...] # 変更したファイルや新しいファイルを全部指定する
$ git commit --amend  # ここで、絶対にChange-Idを消さないこと
$ ./logerrit submit master

すると、https://gerrit.libreoffice.org/#/c/*****みたいなページができて、みんながコードをレビューしてくれる。なんて素晴らしいシステム!

レビュワーに言われたこと

  • AuthorとCommitterはどちらも本名にしよう
  • ハンガリー記法に則って変数名とかを書きなおそう
  • バグ報告ページで、(たとえバグではなく機能拡張の要望であっても)変更したい内容を報告しておこう
  • あとで他の言語に直すときのために、「if, iferror, ifna and 10 more」といった表現をするときは「%1 and %2 more」を定数一覧に追加して、日本語に翻訳するときに「%1 と他 %2 件の候補」などが簡単にできるようにしておこう

みなさんも、投稿する前に確認してみてくださいね。

今回のまとめ

コミットは思ってたよりだいぶめんどくさかった。
ちなみに4日くらい前からレビューがぱったり途絶えてしまって、Margeもされず宙ぶらりんの状況。私のパッチは見捨てられてしまったのだろうか…?

これから大規模なソースコードと戦う人へ

全検索は非常に強い!積極的に活用しよう。gdbでちまちま見てたら何年掛かっても目的の関数にはたどり着けない。
フォルダ名でアタリを付けるのはもっと強い!!変なファイルが検索に掛かってそのファイルの確認に時間を取られるくらいなら、このファイル!と決めてそこだけ検索したほうが時間的リソースを大きく節約できる。勘が外れたらドンマイ。

リンク

LibreOfficeCalcに関数候補表示機能を付けるまで

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3