Folks, I have a branch called user/foo that I'd like to check out from remote.  Code:
Git.prototype.refresh = function refresh(branch) {
    var options = {
        credentials: function() {
            return NodeGit.Cred.userpassPlaintextNew(GITHUB_TOKEN, "x-oauth-basic");
        },
        certificateCheck: function() {
            return 1;
        }
    };
    return NodeGit.Repository.open(localPath).then(function (repo) {
        return repo.checkoutBranch(branch, options).then(function (checkoutresult) {
            return repo.fetchAll(options).then(function (result) {
                return Promise.resolve(result);
            }).catch(function (err) {
                console.log('Unable to fetch',err);
                return Promise.reject(new Error(err));
            });
        }).catch(function(err) {
            console.log('checkoutBranch',err);
            return Promise.reject(new Error(err));
        });
    });
};
error:
[Error: Error: Reference 'refs/remotes/user/foo/HEAD' not found]
Am I using checkoutBranch incorrectly? I already have the remote cloned to a local directory, and am trying to switch to a particular branch.
Thanks!
 
    