![]() |
Git-Client mit Delphi
Hallo zusammen,
ich arbeite derzeit an einer Anwendung, die sich selbst per Git aktualisieren soll. Dazu habe ich einerseits die libgit2 (git2.dll) gefunden und die dazu passenden Delphi-Bindings "git4delphi". Diese stellen die exported functions der git2.dll in Delphi zur Verfügung. Soweit, so gut. Im ersten Schritt möchte ich nun das Git-Repository der Anwendung auf den lokalen Rechner klonen. Dafür gibt es laut libgit2-API-Reference eine public function "git_clone". Diese ist aber leider keine exported function und ich kann diese nicht im Delphi-Quellcode aufrufen. Es erscheint mit fast so, als müsste ich das Klonen mit den, zur Verfügung stehenden, exported functions "zu Fuß" erledigen. Was sehr mühsam erscheint. Komischerweise steht "git_clone" in der Bindings-Variante für PHP(!) zur Verfügung. Weiß jemand, ob ich vielleicht doch irgendwie an die git_clone-Funktion in der git2.dll von Delphi aus heran komme? Oder kennt jemand ein Beispiel, wie ich das Klonen mit den exported functions durchführen kann? Bin für jede Hilfe dankbar. Gruß Thilo P.S.: Es nicht darum Git als Versionskontrolle in die Delphi-IDE zu integrieren: |
AW: Git-Client mit Delphi
Hi,
die Funktion git_clone wird sehr wohl von der libgit2.DLL exportiert. Solltest du mit git4delphi das hier meinen: ![]() Die Definition sollte ungefähr so aussehen:
Delphi-Quellcode:
Als Optionen kann man wohl nil übergeben, dann wird GIT_OPTIONS_INIT benutzt. Ansonsten müsste man noch das entsprechende record definieren.
git_clone = function (var repo: Pgit_repository; URL: PAnsiChar; LocalPath: PAnsiChar; Options: PGit_clone_options): integer; stdcall;
Hilft dir das weiter? |
AW: Git-Client mit Delphi
Hallo Sebastian,
vielen Dank für Deine Hilfe. Das hat geholfen. Allerdings war es auch so, dass die unter ![]() der libgit2.dll wohl eine sehr alte Version ist, die viele Funktionen u. A. git_clone tatsächlich nicht exportiert. Ich habe mir eine aktuelle Version besorgt und diese, da hast du völlig recht, exportiert alle nötigen Funktionen. Gruß Thilo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz