die on checkout failure. pull from remote if dir does not exist.