miscdepリポジトリの運用見直し
現在 NVDA 日本語版の git リポジトリは、本家 nvda のフォークである nvdajp リポジトリと、以前から miscdep として管理してきた nvdajpmiscdep リポジトリから構成されています。
Bazaar が使われていた時代には nvda レポジトリに miscdep 関連ファイルを追加しても bzrignore ファイルのせいで除外されてしまい、管理対象にならない、という状況で、bzrignore をむやみに書き換えたくなかったため、別リポジトリとして運用してきました。
git では git submodule 機能を使うと、特定のフォルダの中身だけを別リポジトリに分けることができるので、例えば include/jtalk フォルダだけをサブモジュールにする、といった運用ができそうです。
もう一つの課題は、現在 miscdep に含んでいる mecab のバイナリ辞書のファイルサイズが大きいことです。 最近の github の仕様変更で、50MB 以上のファイルを push すると警告が出るようになりました。 source/synthDrivers/jtalk/dic/sys.dic は現在 68MB の大きさです。
リポジトリでのバイナリファイルの管理は、本来はよいプラクティスとは言えません。 特に大きなバイナリファイルは git では性能が落ちるらしく、今後も続けるかどうかは悩ましいところです。
最後に、miscdep のコミットと並行して続けている 7z 版の miscdep を、今後も西本の dropbox で続けるか、もっと別の運用をするか、という課題です。
開発者がソースコードからビルドしやすくなるための支援のひとつではありますが、もっと根本的に何か対策が必要という気もします。
下記チケットと話題が重複するので、クローズします。
http://sourceforge.jp/ticket/browse.php?group_id=4221&tid=31931
現在 NVDA 日本語版の git リポジトリは、本家 nvda のフォークである nvdajp リポジトリと、以前から miscdep として管理してきた nvdajpmiscdep リポジトリから構成されています。
Bazaar が使われていた時代には nvda レポジトリに miscdep 関連ファイルを追加しても bzrignore ファイルのせいで除外されてしまい、管理対象にならない、という状況で、bzrignore をむやみに書き換えたくなかったため、別リポジトリとして運用してきました。
git では git submodule 機能を使うと、特定のフォルダの中身だけを別リポジトリに分けることができるので、例えば include/jtalk フォルダだけをサブモジュールにする、といった運用ができそうです。
もう一つの課題は、現在 miscdep に含んでいる mecab のバイナリ辞書のファイルサイズが大きいことです。 最近の github の仕様変更で、50MB 以上のファイルを push すると警告が出るようになりました。 source/synthDrivers/jtalk/dic/sys.dic は現在 68MB の大きさです。
リポジトリでのバイナリファイルの管理は、本来はよいプラクティスとは言えません。 特に大きなバイナリファイルは git では性能が落ちるらしく、今後も続けるかどうかは悩ましいところです。
最後に、miscdep のコミットと並行して続けている 7z 版の miscdep を、今後も西本の dropbox で続けるか、もっと別の運用をするか、という課題です。
開発者がソースコードからビルドしやすくなるための支援のひとつではありますが、もっと根本的に何か対策が必要という気もします。