After two weeks of work, I've just released git-annex version 0.20110417, with some big new features that open up some interesting use cases:
Want to use The Cloud as a git remote? git-annex now supports storing data in Amazon S3 as if it were just another git remote. With full gpg encryption of the content stored in S3.
*
This is so easy to use and neato I just have to show it off:
joey@gnu:~/tmp/repo> git annex initremote cloud type=S3 encryption=joey@kitenet.net initremote cloud (checking bucket) (creating bucket in US) ok joey@gnu:~/tmp/repo> git annex add bigfile add bigfile ok (Recording state in git...) joey@gnu:~/tmp/repo> git annex move bigfile --to cloud move bigfile (gpg) (checking cloud...) (to cloud...) ok (Recording state in git...) joey@gnu:~/tmp/repo> file bigfile bigfile: broken symbolic link joey@gnu:~/tmp/repo> git annex get bigfile get bigfile (copying from cloud...) (gpg) ok (Recording state in git...) joey@gnu:~/tmp/repo> file bigfile bigfile: symbolic link
Want to collaborate on some big files? Perhaps you're dealing with scientific datasets, or video game levels. git-annex can now use a bup repository as a special kind of git remote. The big files are stored forevermore in bup's git repository, while their metadata and the rest of your stuff can be kept in git as usual -- and both git repositories can be used collaboratively. It's turtlesWgit all the way down, but without the large file scalability problems.
Want to trade disk space with someone? You can set up a bup remote, or just bare directory on their system, and have git-annex encrypt the data it stores there.
Want a DropBox like folder that's Free Software and stores data in the cloud, or in a more git-style distributed way? Well, about that...
I had been planning to finish up S3 and encryption support, and then mention this could perhaps be used as the basis for a DropBox like thing. But Christophe-Marie Duquesne anticipated me by a month, and created ShareBox. It's a FUSE filesystem layered over git-annex. While not yet production ready (lacking eg, conflict resolution), it has promise.
*
This feature isn't available in Debian yet, blocked by a lack of
the Haskell hS3 library packaged for Debian. Someone should fix that,
ideally not me. Getting missingh updated for the ghc7 transition
so git-annex is buildable in unstable would also be nice..
In your demo up there, I don’t seen any "git record" any more in between the git annex commands. Is that not required any more, or just omitted here, or was it never required? This requirement for issuing record command have put me off git annex so far... (I know its minor, but then, tools should be convenient)
About the haskell packages: We (Debian Haskell Group) are very happy to hear about packaging wishes on debian-haskell@l.d.o, and usually respond and act quickly. The current transition is obviously a pain, and we have preferred to migrate other packages before missingh because that is, for historical reasons, not in the same repositories as most packages. Anyways, I’ll look into packaging hS3 in the latest version on hackage right away... but it has quite some dependencies... well, just watch NEW :-)
git-annex has always staged its log file changes automatically, as far as I can remember. You do need to git commit the staged changes from time to time, eg when you want to sync up to another repository.
Thanks for the work on haskell and quick packaging of hS3 and crypto. I had mentioned hS3 before at http://wiki.debian.org/Haskell/PackageTODO btw.