GitLab 11.11.0 のmilestoneで500エラー


GitLabを11.11.0にバージョンアップしたらプロジェクトのマイルストーンの一覧が500エラーが出て見えなくなりました(しくしく。

Issueを見るとi18nのバグっぽいので個人言語をEnglishに設定すれば見ることができます。が、オープンソースなので自力で修正してみます。

前提

GitLab CE 11.11.0
言語:日本語

対応方法

以下に修正したpoファイルをアップロードしました。

gitlab/locale/ja/gitlab.poを入れ替えして再起動します。

詳細

以下のIssueで認識はされているようです。
https://gitlab.com/gitlab-org/gitlab-ce/issues/62355

i18nのバグっぽいです...。

という事で直近のapp/helpers/milestones_helper.rb
に関連するコミットを見てみます。

"%d open issues" となっていたのが、"%{issues} open issues"になっています。この変更が言語ファイルに反映されていないのが、原因のようです。

以下の5メッセージで影響があるようですので%dの書き換えを行います。

gitlab/locale/ja/gist.po
....

msgid "1 closed issue"
msgid_plural "%{issues} closed issues"
msgstr[0] "%{issues}件のクローズされた課題"

msgid "1 closed merge request"
msgid_plural "%{merge_requests} closed merge requests"
msgstr[0] "%{merge_requests}件のクローズされたマージリクエスト"

....

msgid "1 merged merge request"
msgid_plural "%{merge_requests} merged merge requests"
msgstr[0] "%{merge_requests}件のマージされたマージリクエスト"

msgid "1 open issue"
msgid_plural "%{issues} open issues"
msgstr[0] "%{issues}件の課題"

msgid "1 open merge request"
msgid_plural "%{merge_requests} open merge requests"
msgstr[0] "%{merge_requests}件のマージリクエスト"

....

むにゃむにゃ

さくっとあげたらバグに当たってしまいました(涙。なんか本家(gitlab.com)のマイルストーンもエラーになるようなんですが...。

その後(19/6/8)

Issueに変更点を報告したら、そこから数時間でいろいろすすみましたので、次のリリースにはきちんと修正されるかと思います。「どうしてこういう問題が発生するのか」という議論になっているあたりが嬉しいです。

これだけメジャーなソフトなので、さすがに誰か気づいて直しているだろうと思っていたのですが、報告して良かったです、少しでも貢献できたなら良かったです。