Unterordner aus GitHub-Repository herunterladen

GitHub ist eine Pest. Das kundenunfreundlichste Versionskontrollsystem der Welt konnte sich trotz fragwürdiger politischer Entscheidungen durchsetzen. Das System zeigt seine Zähne, wenn man nur einen Teil eines Repositories herunterladen möchte.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 2 Min.
Von
  • Tam Hanna

GitHub ist eine Pest. Das kundenunfreundlichste Versionskontrollsystem der Welt konnte sich trotz fragwürdiger politischer Entscheidungen durchsetzen. Das System zeigt seine Zähne, wenn man nur einen Teil eines Repositories herunterladen möchte.

Aus zivilordnungstheoretischer Sicht wäre das Herunterladen des Master-Archivs die richtige Vorgehensweise: GitHub entstehen dadurch zusätzliche Kosten, die das Unternehmen vielleicht irgendwann zum Einlenken bringen. Leider ist dazu nicht unerhebliche Bandbreite erforderlich – bei großen Projekten ist es manchmal nicht möglich, den Komplett-Download in vernünftiger Zeit zu bewerkstelligen.

Als Workaround bietet sich der nur wenig bekannte SVN-Fallback an. Dazu müssen Entwickler die auf der Startseite des Repositories erhältliche Git-URL in einen Editor kopieren – sie sieht normalerweise so aus:

https://github.com/mrdoob/three.js.git

Im nächsten Schritt wird .git durch /trunk/ erweitert und danach das Mutterverzeichnis des gewünschten Codes angehängt. Sodann können Entwickler den Download mit folgendem Befehl anstoßen:

tamhan@TAMHAN14:~/Desktop/deadstuff$ svn export https://github.com/mrdoob/
three.js/trunk/utils/exporters/blender/
A blender
A blender/2.65
A blender/2.65/scripts
A blender/2.65/scripts/addons
A blender/2.65/scripts/addons/io_mesh_threejs
A blender/2.65/scripts/addons/io_mesh_threejs/__init__.py
A blender/2.65/scripts/addons/io_mesh_threejs/export_threejs.py
A blender/2.65/scripts/addons/io_mesh_threejs/import_threejs.py
A blender/README.md
Exported revision 14807.

Der Lohn der Mühen ist ein Ordner, der die im angegebenen Verzeichnis und allen Unterordnern befindlichen Informationen enthält.

PS: Beachtet sei, dass die hier geschilderte Vorgehensweise nur mit GitHub-Repositories funktioniert. Andere Anbieter von Git-Repositories schalten den SVN-Fallback mitunter nicht frei, um Ressourcen oder Aufwand zu sparen. ()