Fixing Git commit, as far as it should work as git commit -a.

In order to maintain the same behavior between mercurial and git, the commit should do a "git commit -a" but it was not.

I thought in implement it as optional, but mercurial does not have an index, so I've had to implement one for it and I think it is too much work right now.

So, now it works as documentation said it should.
This condition doesn't seem correct, shouldn't it be negated, and with an only allow_empty?