Screenshotbot verzichtet auf GitHub-Abhängigkeit und nutzt effizient git-upload-pack
Um die Sicherheit zu verbessern und mehr Git-Plattformen zu unterstützen, hat Screenshotbot zunächst darauf verzichtet, GitHub-Repositories auszulesen. Dies schränkte zwar die Funktionalität ein, verbesserte aber das Vertrauen der Benutzer und die Erfolgsrate bei Sicherheitsüberprüfungen. Der Artikel beschreibt detailliert, wie Screenshotbot durch den Aufbau eines Commit-Graphen und die Verwendung des git-upload-pack-Protokolls effizient die notwendigen Informationen abruft, um Shallow Clones zu unterstützen und das zeitaufwendige Klonen großer Monorepos zu lösen. Die neue Methode nutzt den bereits vorhandenen SSH-Zugriff in den CI-Jobs der Kunden, um direkt über das git-upload-pack-Protokoll auf Commit-Informationen zuzugreifen und die Abhängigkeit von GitHub-APIs zu vermeiden. Dies verbessert die Effizienz, Stabilität und unterstützt mehr Plattformen, einschließlich selbst gehosteter Git-Repositories. Trotz der Komplexität des git-upload-pack-Protokolls hebt der Autor wichtige Details hervor, wie das Packfile-Format und Einschränkungen verschiedener Git-Server. Dieser Artikel bietet Entwicklern wertvolle Erfahrungen und Referenzen.