On the first: I don't know, maybe escaping problems.
On the last two: I don't understand the question, you say at the same time that a message is and is not X in git. FAQ may be a useful read.