Ruby の issuer tracker である https://github.com/ruby/bugs.ruby-lang.org/ は内部に redmine の plugin を git submodule として持っていて、それぞれは独立したリポジトリで開発をしていたのだけど、これらのプラグインはもう bugs.ruby-lang.org でしか使ってないものだし、さらに redmine_s3 という汎用的そうに見えるプラグインについても aws-sdk のアップデートが全然追いついてないという悲しい状態だったので submodule をやめて vendorize することにした。
https://github.com/jeremysears/scripts/blob/master/bin/git-submodule-rewrite
git submodule を止めるには単にファイルをデッドコピーするだけでいいんだけど、rubygems/bundler メンテナの Devid がコミットヒストリーを引っ越して保持してくれるというスクリプトを見つけてくれて試してみたらかなりいい感じに動いたのでサッと書き換えてしまった。
https://github.com/ruby/bugs.ruby-lang.org/tree/ro-4-0/plugins
これで heroku を chatops でデプロイできるようになったので捗る(heroku は submodule を使っていると chatops でのデプロイができない)