libgit2: no se pudo resolver la ruta al crear un repository

Para un proyecto en el que estoy trabajando, estoy intentando usar libgit2. Por el momento, solo estoy tratando de crear un repository usando git_repository_init pero falla con el siguiente post de error:

 Error: -1/2: Failed to resolve path 'D:/Workspace/<project_name>/test/.git/': Invalid argument 

El código es el siguiente:

 #include <iostream> #include "git2.h" int main(int argc, char *argv[]) { git_libgit2_init(); git_repository *repo; git_repository_init_options opts = GIT_REPOSITORY_INIT_OPTIONS_INIT; opts.flags |= GIT_REPOSITORY_INIT_MKDIR; int err = git_repository_init_ext(&repo, "D:/Workspace/<project_name>/test", &opts); if(err < 0) { const git_error *e = giterr_last(); std::cerr << "Error: " << err << "/" << e->klass << ": " << e->message << std::endl; } git_repository_free(repo); git_libgit2_shutdown(); return 0; } 

El directory .git en el directory de testing todavía se crea pero está vacío. Lo he intentado con una ruta relativa y absoluta, y también con Unix y la ruta de Windows, pero el resultado parece ser siempre el mismo.

Además, al ejecutar libgit2_clar, muchas testings fallan siempre con el mismo error: "error -1 – Error al resolver la ruta 'attr': argumento inválido".

libgit2 y el código anterior se ha comstackdo y ejecutado en un Windows XP 32bit utilizando MinGW con gcc 4.8.1.

Windows XP no es compatible con libgit2. El soporte finalizó en v0.21.0 en 2014 :

Mejoras de nivel superior

  • Hemos eliminado el soporte para Windows XP. Somos malvados como eso.

El parámetro repo_path de git_repository_init_ext no es legal porque contiene los caracteres '<' '>'. Intenta hacer un nuevo directory con los caracteres anteriores y obtendrás un post de error.