added softCommit support

I agree, we should assert one or the other AFAICT. Just turning it into an ``elif`` would be enough.