Ich habe ein eingebettetes System, wo ich nichts installieren kann und das einzige Werkzeug, das ich möglicherweise verwenden könnte, um etwas zu holen, ist wget. Es stellt sich heraus, dass du mit wget nicht die gleichen Dinge machen kannst wie mit Curl. Ich kann auch nicht für dieses System kompilieren, also muss ich auf Python- oder Shell-Skripte zurückgreifen. Da die reine Python-Implementation von git namens Dulwich tatsächlich C-Code hat, den ich kompilieren müsste ... Also habe ich sogar darauf geblickt.Einen Tarball von github ohne curl herunterladen
Was ich brauche, ist Code aus Github-Repository zu bekommen, und die offensichtliche Lösung dafür ist die Verwendung von Tarballs, die sie bereitstellen. Normalerweise kopiere ich den Link zum Herunterladen der Zip-Schaltfläche von der Repository-Seite und verwende ein Autorisierungstoken anstelle von Benutzername und Passwort. Es funktioniert ziemlich einfach mit curl wie so:
curl -L https://<token>@github.com/<org|user>/<repo>/archive/master.tar.gz | tar xz
Es stellte sich heraus wget etwas umständlich ist und was ich habe gerade versucht, funktioniert.
Warum können Sie nicht Quer kompilieren? –
Ursache Ich habe nicht die gleiche Toolchain, um dynamisch verknüpfte Version von curl (oder git) zu kompilieren. Wenn ich versuche, eine statisch verknüpfte Version von beiden zu kompilieren, würde es wahrscheinlich eine gute Stunde dauern, um alle Abhängigkeiten von Grund auf neu zu erstellen. Und warum muss ich wirklich, wenn die Vollversion von wget schon da ist ... Und ich hatte auch Python, aber die Verwendung von urllib2 wäre wahrscheinlich ziemlich mühsam und ich müsste explizit Dinge wie Umleitungen und Wiederholungen behandeln ... – errordeveloper
Der C-Code in Dulwich ist optional. Sie können Dulwich ohne diese Option verwenden, indem Sie mit "setup.py install --pure" erstellen. Die C-Erweiterungen werden jedoch die Leistung für größere Repositories erheblich verbessern. – jelmer