オリジナルの git-media には以前に確認したような不具合が Windows 上で発生するため、そのままではバイナリが破壊されてしまうため使用に耐えませんでした。
今回 git-media を fork して、この問題を修正してみました。原因は簡単なことで改行コード変換がバイナリ取り出し時の処理に挟まってしまうことでした。
自分が修正した git-media はこちらに上げてあります。一応手元ではテストを行っていますが、動作を保証するモノではありません。普段の環境が Windows なので、 Windows の環境でのみテストしています。設定項目等も通常のものと変更はないです。
これで git を使っても、ひとまずは巨大バイナリに対して戦える状況になったかなと思っています。
git-media そのものの使い方は過去の記事を参考にしてもらえればと。
git-media はファイルシステムや scp, webdav が使える点がすごくいいと思ってます。これで送り込んだ先をバイナリ管理のリポジトリサーバーとしてバックアップ等含めてきちんと運用させるとよいかと思います。
インストールについて
本家インストールとほぼ一緒ですが、 clone してくる場所が違うので念のため以下に書いておきます。
$ git clone https://github.com/techlabxe/git-media $ cd git-media $ gem install bundler $ gem install trollop $ bundle install $ gem build git-media.gemspec
うまくいくと、 git-media の gem が出来ているのでインストールを行います。
$ gem install git-media-0.1.5.gem Successfully installed git-media-0.1.5 Parsing documentation for git-media-0.1.5 Installing ri documentation for git-media-0.1.5 Done installing documentation for git-media after 0 seconds 1 gem installed
環境変数PATH に、git-media/bin の場所を追加しておきます。
そしてgit の設定を変更します。
$ git config --global filter.media.clean 'git-media filter-clean' $ git config --global filter.media.smudge 'git-media filter-smudge'
ここには書き忘れましたが、 Ruby のインストールが必要です。