I hang out in #git-annex on OFTC (come and chat/ask for help).

[Getting mentioned by Joey](http://git-annex.branchable.com/devblog/day_277__thanks/) is definitely a (if not **the**) highlight of my involvement in the git-annex community. That really made my month!

Things that I am (or plan to) work on related to git-annex (in some way):

* FUSE filesystem for dynamic get/drop of content
* FUSE filesystem for metadata change/views (like tagsistant)
* Patchset for ikiwiki which allows it to be used with perlbrew libs
* Support for modifying git-annex metadata in my file sorting app
* Support for git-annex in my VR environment

# sorting annex

## diagram

      +------+
      |      | clone
      | base ------------+---------------------------+
      |      |           |                           |
      +----|-+           |                           |
         clone    +------|-----+              +------|-----+
           |      |            |              |            |
           |      | hd1-serial | < populate > | hd3-serial |
           |      |            |              |            |
           |      +------|-----+              +------|-----+
           |             |                           |
           |           clone                       clone
           |             |                           |
           |      +------|-----+              +------|-----+
           |      |            |              |            |
           |      | hd2-serial |   < get >    | hd4-serial |
           |      |            |              |            |
           |      +------|-----+              +------|-----+
           |             |                           |
    +------|------+      |                           |
    |             |      |                           |
    | collate.git -------+---------------------------+
    |             |remote add >
    +------|------+
           |
         clone
           |
      +----|----+
      |         |
      | sorting |
      |         |
      +---------+

## explanation

* *base* created and a mkannex.sh script is added to it which inits a git-annex repository with the desired settings
* *base* is cloned to an empty drive as the "type" of files to be added (hd1, hd3)
  * types are file, filelink, keyfile and keylink
  * e.g. `git clone ${base_uri} keyfile`
* mkannex.sh is run and repository is named ${drive_serial}_${type}
* annex is populated with contents of $type, in directories created with `uuidgen -r` to prevent collision
* populated repository (hd1, hd3) is cloned to another drive (hd2, hd4)
* mkannex.sh is run and repository is named ${drive_serial}_${type}
* contents are `git annex get`'d from the populated drives

* *collate.git* cloned from *base* and mkannex.sh run, named "collate"
* remotes added to collate.git for secondary drives (hd2, hd4)
* *collate.git* syncs metadata, learning of all repositories and their contents
* *sorting* is cloned from *collate.git* to do sorting activities
  * read-only remotes added for the content drives as required