Angular js and pushState

In my app I want to update the history without reloading the current route.

Basically this is working:

$location.hash("/some_path");

But it does reinit the controllers. And I don't need it to do that. We can see the view being reloaded and in the context of my app, it is a killer. I just want to update the history so that the view gets updated if the user presses the back button but that's it. Basically, I would like this to work:

$window.history.pushState(null, "", "/#!/some_path")

Unfortunately, this does not work, angular is crashing in this function

$rootScope.$watch(function $locationWatch() {...})

Is there a good way to do this?