Another special remote that git-annex can use is a bup repository. Bup stores large file contents in a git repository of its own, with deduplication. Combined with git-annex, you can have git on both the frontend and the backend.

Here's how to create a bup remote, and describe it.

[[!template Error: failed to process template note Can't locate Locale/gettext.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at (eval 3617) line 2. BEGIN failed--compilation aborted at (eval 3617) line 2. ]]

# git annex initremote mybup type=bup encryption=none buprepo=example.com:/big/mybup
initremote bup (bup init)
Initialized empty Git repository in /big/mybup/
ok
# git annex describe mybup "my bup repository at example.com"
describe mybup ok

Now the remote can be used like any other remote.

# git annex move my_cool_big_file --to mybup
move my_cool_big_file (to mybup...)
Receiving index from server: 1100/1100, done.
ok

Note that, unlike other remotes, bup does not really support removing content from its git repositories. This is a feature. :)

# git annex move my_cool_big_file --from mybup
move my_cool_big_file (from mybup...)
  content cannot be removed from bup remote
failed
git-annex: 1 failed

See bup for details.

Comments on this page are closed.