i'm changing it to enumerate the remote fetchspecs at the start. i'm confused by a compilation error: cppgit2::remote remote = repository.lookup_remote(remote_name); cppgit2::refspec fetchspec = cppgit2::refspec::parse(remote.fetchspec(), true); The error is on the second line, regarding remote.fetchspec(): (6 of 10): error: ‘class cppgit2::remote’ has no member named ‘fetchspec’; did you mean ‘fetch_’? I formed the call from the source of a file named remote.hpp in the cppgit2 sources: // Fetchspec std::string fetchspec() const { return c_ptr_->fetchspec ? std::string(c_ptr_->fetchspec) : ""; } Usually when this happens it is because I am referencing a different class than I am using, I would guess.