LibGit2-Klonrepo mit ssh: Ungültige Version 0 auf git_clone_options

Lesezeit: 1 Minute

Ich entschuldige mich im Voraus, weil ich extrem neu bei libgit2/git bin. Ich habe versucht, ein Git-Repository mit ssh zu klonen, und ich erhalte die folgende Fehlermeldung:

Error code: -1 Invalid version 0 on git_clone_options

Ich habe einige Pfade aus Datenschutzgründen durch willkürliche Variablen ersetzt. Ich glaube nur, dass ich die Schritte falsch mache.

cred_acquire_cb(git_cred** cred, const char* url, const char* username_from_url, unsigned int allowed_types, void* payload)
{
return git_cred_ssh_key_new(cred, "git", URL, pathToPublicKey, passPhrase);
}

git_repository* repo;
git_remote** remote;
g_options.remote_callbacks.certificate_check;
g_options.remote_callbacks.credentials = cred_acquire_cb;
g_options.remote_cb_payload = pathToCopyTo;
printError(git_clone(&repo, sshURL, pathToCopyTo, &g_options));

Die verschiedenen git_*_options Strukturen müssen explizit initialisiert werden. (Sie können sie nicht einfach auf einen nicht initialisierten Speicher verweisen lassen.) Sie können dies ganz einfach tun, indem Sie entweder den praktischen Initialisierer verwenden:

git_clone_options options = GIT_CLONE_OPTIONS_INIT;
options.remote_callbacks.credentials = cred_acquire_cb;

Oder Sie können eine einfache Funktion aufrufen, die dies für Sie erledigt:

git_clone_options options;
git_clone_init_options(&options, GIT_CLONE_OPTIONS_VERSION);

  • Funktioniert auch für git_checkout_options verwenden GIT_CHECKOUT_OPTIONS_INIT

    – Abdelilah El Aissaoui

    16. Oktober 2017 um 7:19 Uhr

996560cookie-checkLibGit2-Klonrepo mit ssh: Ungültige Version 0 auf git_clone_options

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy