experimental multiuser git-annex repository
On the last day of DebConf 13, RichiH and Ganneff and I set up a
git-annex repository that all Debian developers have automatic
commit access to, and
everyone can clone and browse.
See the announcement email.
This is an interesting repository for me for several reasons. Selfishly, I
have always wanted an easy way to download lots of DebConf photos for
offline viewing, and never seem to get around to downloading everything
from gallery.debconf.org when I have bandwidth. I've also wanted an example
repository that shows how git-annex can be used by a large group for
collaboration. Finally, the way this repository is set up with an incoming
queue is fairly unique.
With 430 files in the repository, totaling over 3.5 gigabytes (which doesn't
include all the talk videos that are #included into it),
and at least 18 people having cloned the repository so far,
the debconf-share repository is well on its way to being a sort of large
git annex whereis is interesting; many of the files already
have 8 copies. Some talk videos are more popular than others and you can
see when they're downloaded too. But enough snooping.. ;)
So far people have uploaded mostly photos and talk slides. Other places
exist to store those things in the DebConf infrastructure, but it's nice
to have them all available in one tree. I particularly like today's
addition of chrysn's files
which include the raw photos and hugin files used to produce panoramas,
and then pull those together into a postcard which has all its sources
In my corner of the debconf-share repository, I'm collecting together files
regarding the possibly-historic dpkg-source-git-re-re-redesign process
that would have otherwise been scattered around various places and probably
not all published. This includes an hour long recording of the main
design session (recorded with permissions) made by my laptop's mic, which,
surprisingly, turned out to be pretty listenable. I will probably have more
to say about this process later, once Ian announces dgit.
So, we're still seeing how usage develops. I hope that having this
available during the next DebConf, and other Debian meetings, rather
than only at the end, will further facilitate file sharing and storage.
Especially if a fast clone is available right on the DebConf LAN. ;)
The technical details of how the repository is put together are:
- There's a repository on git.debian.org, which piggy-backs on the collab-maint
group, so most Debian people have commit access to it.
- git-annex is used to upload files to that repository, as an incoming
- A git-annex-shell
annex-content hook is run whenever someone uploads
a file to there. It moves all annexed content over to annex.debconf.org
This involves some ugly but safe stuff to do with publically readable
restricted use ssh private keys. It was the hardest piece to get working,
and is only necessary because we don't want to bloat git.debian.org with this
stuff and it's not practical to give everyone logins to
- As an additional guard against accidental bloat, the git.debian.org
repository will refuse to accept uploads when there is less than 5 gb
- annex.debconf.org was set up following the
git-annex public repository on a web site howto.
I've found at least 4 bugs in git-annex as a result of this repository,
which is a rather unusual use case. And fixed 2 of them so far..
Syndicated 2013-08-21 20:20:18 from see shy jo