support reset to commit in repo; support creating snapshot