DSAS開発者の部屋:gitでバイナリファイルを気軽に扱えるフィルターを作りました
gits3 は Python でプロトタイプを作った後、 go で作りなおしました。
http://dsas.blog.klab.org/archives/52105107.html
S3、1年たったらタダちゃうし、Dropbox 使いたいよ... ってことで作ってみました。
mattn/git-dropbox - GitHub
Simulate hg largefile on git with dropbox Introduction When we want to add lar...
https://github.com/mattn/git-dropbox
使い方は DSAS さんのブログと同じです。まずインストール。
$ go get github.com/mattn/git-dropbox
~/.gitconfig
か
.git/config
にフィルタを登録します。
[filter "dropbox"]
clean = git-dropbox store
smudge = git-dropbox load
そしてリポジトリに
.gitattributes
というファイルを作り、以下の様にフィルタを割り当てます。
*.png filter=dropbox
*.jpeg filter=dropbox
*.jpg filter=dropbox
*.gif filter=dropbox
あとは普通に
git add
するだけで、dropbox の
Apps/git-store
というフォルダに格納されていきます。
初回だけ、ブラウザが自動で起動しますのでそこで許可ボタンを押して頂く必要があります。
ローカルにもキャッシュを持っているので、他のユーザと共有する場合は、
~/.gitasset/data
というフォルダを rsync しておけばOKです。
もしくは dropbox 側で共有するというのもアリかもしれません。
なお、git-dropbox には
-nocache
というオプションもあるので、上記フィルタの登録時に
[filter "dropbox"]
clean = git-dropbox -nocache store
smudge = git-dropbox -nocache load
-nocache
を指定しておけばディスク容量が気になる方には良いかもしれません。
ちなみにコマンドラインから
$ git dropbox store fugafuga.txt < fugafuga.txt
$ git dropbox load fugafuga.txt
$ git dropbox drop fugafuga.txt
$ git dropbox list
という使い方も出来ます。
どうぞお役立て下さい。