git-annex has a new nicer versions of its [[logo]], thanks to John Lawrence.

Finally tracked down a week-old bug about the watcher crashing. It turned
out to crash when it encountered a directory containing a character that's
invalid in the current locale. I've noticed that 'ü' is often the character I
get bug reports about. After reproducing the bug I quickly tracked it down
to code in the haskell hinotify library, and sent in a patch.

Also uploaded a fixed hinotify to Debian, and deployed it to all 3 of the
autobuilder chroots. That took much more time than actually fixing the bug.
Quite a lot of yak shaving went on actually. Oh well. The Linux
autobuilders are updated to use Debian unstable again, which is nice.

Fixed a bug that prevented annex.diskreserve to be honored when storing
files encrypted in a directory special remote.

Taught the webapp the difference between initializing a new special remote
and enabling an existing special remote, which fixed some bad behavior when
it got confused.

----

And then for the really fun bug of the day! A user sent me a large file
which badly breaks git annex add. Adding the file causes a symlink to be
set up, but the file's content is not stored in the annex. Indeed, it's
deleted. This is the first data loss bug since January 2012.

Turns out it was caused by the code that handles the dummy files git uses
in place of symlinks on FAT etc filesystems. Code that had no business
running when `core.symlinks=true`. Code that was prone to false positives
when looking at a tarball of a git-annex repository. So I put in multiple
fixes for this bug. I'll be making a release on Monday.

----

Today's work was sponsored by Mikhail Barabanov. Thanks, Mikhail!
