Here's a good take I got from Facebook.
-------
It is wrong to punch protesters. But it IS ALSO different from the people who punched black marchers. These protesters did not come unarmed, or peacefully, and everything in their behavior has made it clear they were spoiling for a fight. Even if they were not spoiling for a fight, they are espousing clear, known evil: no matter what the president said last night, the core of the protest was clearly white supremacist, Nazi, and neo-Confederate. You don't pick "blood and soil" and "the Jews will not replace us," as your chants, or wave a Nazi flag if you're just there to protest a statue coming down. As has been said elsewhere, that flag, those "seig Trump" cries, those slogans are not just "freedom of speech," they are intentional calls for action, which are not protected Constitutionally. The Civil Rights marchers were marching unarmed to promote an American ideal that was not being fulfilled: equality under the law. These guys are marching carrying weapons and determined to eliminate that great American ideal. Comparing the two the way you are is a false equivalency. It's still wrong to punch them. But...when they come with their guns, and their threats, and their own determination to pick a fight, and the sheer obscenity of their cause--at what point does it become essential that someone confront them? At what point is it not just right, but heroic to fight back?