I do it like this:
1. Open a new terminal
2. Git clone latest version to new folder bitsharesx_v0.x.x
3. git checkout 0.x.x + submodule init+update + cmake . + make bitshares_client
4. Once compilation is done, return to still running instance of the client and do "getinfo"
5. Pick a time when there's 10+ minutes till my next block production time, then:
6. Shut down old client, start new client
7. wallet_open + wallet_unlock
8. Do getinfo to verify block_production is enabled