Weeks—and maybe years, actually—of frustrations between Mayor Charlie Hales and Commissioner Nick Fish spilled into an otherwise mundane budget hearing tonight, as Fish accused the mayor of misleading the public about potential cuts to homeless services in town.

"These are vulnerable people in the community that you're playing politics with, and I think it's disgraceful," said Fish, in one of the more acrimonious exchanges at a City Council hearing in recent memory. "Shame on you for doing that."

The dispute had roots, of course, in the business tax hike Hales proposed May 2, as part of his budget for next year. The raise would've created $8.7 million in new general fund revenue for the city, but it became clear on Monday there wasn't support for it. Fish cast what was, in effect, the deciding vote.

In response, Hales' office sent out a long statement yesterday predicting dire cuts without the tax hike money. Hales decried dozens of open positions in the Portland Police Bureau, and suggested he'd be unable to pay cops more—and thereby attract talent—without the increased business tax. He spoke of porta-potties, dumpsters, and other vital services snatched from the city's organized homeless camps, including well-established Right 2 Dream Too.

It was never totally clear where the mayor was getting that from. After all, the trims might have come from anywhere. Hales was supposed to call us to chat about it yesterday, but didn't.

But it appears Hales wasn't pulling his statement out of nowhere. At least one set of options [PDF] floated in recent days, obtained via public records request, did include chops to the $690,000 campsite services allocation Hales had proposed, and the $3 million allocation for police raises. That scenario was apparently created at the behest of several commissioners' offices.

But by Wednesday afternoon, hours after Hales released his statement to reporters, the campsite services had apparently been brought back onto the table. Another proposed set of expenditures sent to council included the $690,000.

Anyway, if commissioners had once mulled chopping Hales' campsite money in private, they betrayed no hint of that this evening. That's where the trouble started.

As homeless advocates and homeless residents began to filter up to testify on behalf of the $690,000 expenditure, Fish became incensed. He wanted to know where people were hearing that campsite services were on the chopping block, and suggested the mayor's office might have been the source.

Hales defended the messaging.

"I proposed a budget that included revenue increases," he said. "There's [now] a $9 million hole in this budget. We have to have a balanced budget. It's as simple as that."

Both Commissioners Steve Novick and Amanda Fritz chimed in that, if campsite services were potentially going to be cut, they hadn't heard about it.

"That actually is news to me," Fritz said.

Hales maintained it was fair. "Excuse me. We have not adopted a budget yet," he said. "Is every program in this room funded? I wasn't aware."

Which set Fish off. "Your office affirmatively gave misinformation to the public Charlie," he said (along with the quote I wrote out at the top of this post). He suggested that discussions between Hales' staff and council members in recent days indicated there'd be no cuts to the campsite money.

And Hales retorted: "I have proposed a budget that balances. Members of this council publicly announced they don't support it. Therefore, everything is at risk until proven otherwise. It's math."

You don't have to look far for some context in this blow up (for real, besides the occasional dressing down from Amanda Fritz, this is as uncivil as this council gets). Fish has long had issues with Hales' strategies around homelessness—mostly the mayor's support and creation of organized homeless camps. There was a disagreement about this literally hours before the exchange I just mentioned.

Here's the exchange.