Screenshotbot se débarrasse de la dépendance à GitHub et utilise efficacement git-upload-pack

2025-05-09
Screenshotbot se débarrasse de la dépendance à GitHub et utilise efficacement git-upload-pack

Pour améliorer la sécurité et prendre en charge davantage de plates-formes Git, Screenshotbot a initialement choisi de ne pas lire les référentiels GitHub. Bien que cela ait limité les fonctionnalités, cela a amélioré la confiance des utilisateurs et les taux d'approbation des examens de sécurité. L'article détaille comment Screenshotbot utilise la construction de graphe de commit et le protocole git-upload-pack pour récupérer efficacement les informations nécessaires, prenant en charge les clones peu profonds et résolvant le problème de temps que prend le clonage de grands monoréférentiels. La nouvelle méthode exploite l'accès SSH existant dans les travaux CI des clients pour accéder directement aux informations de commit via le protocole git-upload-pack, évitant la dépendance aux API GitHub. Cela améliore l'efficacité, la stabilité et prend en charge davantage de plates-formes, y compris les référentiels Git auto-hébergés. Malgré les complexités du protocole git-upload-pack, l'auteur souligne plusieurs détails importants, tels que le format Packfile et les limitations des différents serveurs Git. Cet article fournit une expérience et des références précieuses aux développeurs.

Développement