Either the first or the second are fine, but you need to use "didn't" in the second one. "couldn't have the heart" is incorrect.
The third sentence is awkward. It would be better to say: "He couldn't stand swinging the sword at him." You don't need the word "his".
But also, the third sentence is a bit different. In that case, he has already started swinging the sword. And he can't stand the fact that he is swinging the sword. He thinks he shouldn't be doing it. But he already is. Do you understand?
In the first two, he hasn't started swinging yet, but in the third, he HAS started.