### Please describe the problem.
"git-annex unannex" requires an unexpected (and undesirable) commit only when adding files in a new directory. This is undesirable because whenever "git-annex add" is accidentally run in a new directory, the only way to undo it is to commit first and then unannex, which adds two unwanted commits to the git log. Moreover, this behavior is not consistent with unannex on files in non-new directories: in that case unannex works as expected.

### What steps will reproduce the problem?
<pre><code>/tmp> mkdir test
/tmp> cd test/
/tmp/test> git init 
Initialized empty Git repository in /tmp/test/.git/
/tmp/test (master)> git annex init
init  ok
(recording state in git...)
/tmp/test (master)> touch foo
/tmp/test (master)> git annex add foo
add foo ok
(recording state in git...)
/tmp/test (master)> git annex unannex foo
unannex foo ok
/tmp/test (master)> mkdir bar
/tmp/test (master)> touch bar/foo
/tmp/test (master)> git annex add bar
add bar/foo ok
(recording state in git...)
/tmp/test (master)> git annex unannex bar
git-annex: Cannot proceed with uncommitted changes staged in the index. Recommend you: git commit
</code></pre>


### What version of git-annex are you using? On what operating system?
The issue occurs with last version of git-annex, available at the time of this post (2015-02-19 16:20). I could reproduce the issue in all other versions of git-annex I tried (not many though). I am using Linux, Ubuntu 12.04 amd64.

> [[done]]; added check for repository too new to have a HEAD. --[[Joey]]
