Recently I ran into the following situation under Ubuntu with an encrypted home directory (which shortens the length that filenames can be):

    $ git annex add 687474703a2f2f6d656469612e74756d626c722e636f6d2f74756d626c725f6c656673756557324c703171663879656b2e676966.gif
    add 687474703a2f2f6d656469612e74756d626c722e636f6d2f74756d626c725f6c656673756557324c703171663879656b2e676966.gif failed
    git-annex: /home/lhuhn/annex/.git/annex/tmp/155_518_WORM-s426663-m1310064100--687474703a2f2f6d656469612e74756d626c722e636f6d2f74756d626c725f6c656673756557324c703171663879656b2e676966.gif.log: openBinaryFile: invalid argument (File name too long)
    git-annex: 1 failed

The file seems to be completely gone.  It no longer exists in the current directory, or under .git/annex.

I don't mind horribly that git-annex failed due to the name length limit, but it shouldn't have deleted my file in the process (fortunately the file wasn't very important, or hard to recover).

> [[done]], as noted it did not delete content and now it makes the symlink
> before trying to write to the location log, avoiding that gotcha.
> --[[Joey]] 
