Indicateur de progrès pour le clone git
Est-il possible d'obtenir une barre de progression lorsque l'on fait un git clone
? Je me le demande parce que je suis en train de faire un clone git qui a pris quelques minutes jusqu'à présent et serait curieux de savoir si elle va bientôt se terminer.
5 réponses
Pas vraiment. Il y a différentes étapes à git clone
:
- découvrir les objets qui doivent être envoyés ("Comptage d'objets: nnn")
- compresser et envoyer ces objets
- index reçu le pack
- extraire les fichiers reçus
L'Étape 1 consiste à parcourir le graphe de propagation à partir de chaque tête de branche pour trouver toutes les propagations et les objets associés: les progrès de cela ne peut pas être évaluée. Malheureusement, c'est souvent beaucoup de temps dans une opération de duplication.
L'Étape 2 a un compteur de progression, bien qu'elle compte les objets plutôt que le volume (donc son taux varie, surtout si la pension a de grandes blobs)
les étapes 3 et 4 ont des compteurs de progrès, bien qu'ils soient généralement beaucoup plus rapides que les deux étapes précédentes.
Vous pouvez faire:
du -s .git
surveiller les changements dans la taille du contenu temporaire pour avoir une idée.
watch du -s .git
vous permet de surveiller sans devoir retaper la commande. Quelque chose comme le One-liner ci-dessous vous donnera périodiquement le taux d'accumulation de données en kB par seconde:
delay=5; prev=`du -sk .git/ | cut -f 1`; sleep $delay; while true; do cur=`du -sk .git/ | cut -f 1`; expr \( $cur - $prev \) / $delay ; prev=$cur; sleep $delay; done
je suis en train de faire un clone git qui a pris quelques minutes jusqu'à présent et qui serait curieux de savoir s'il va bientôt se terminer.
Avec Git 2.10 (T3 2016), git clone --progress
sera plus verbeux.
Voir commit 38e590f par Jeff King (peff
)
(fusionné par Junio CA Hamano dans valider a58a8e3 Août. 4ème 2016)