BT

Git 2.11 améliore la Gestion des SHA-1, les Performances et Plus Encore

| par Rags Srinivas Suivre 10 Abonnés , traduit par Nicolas Frankel Suivre 7 Abonnés le 05 déc. 2016. Durée de lecture estimée: 2 minutes |

Sorti récemment, Git 2.11 a plus de 650 commits relatifs à la manipulation des SHA-1, l'amélioration des performances et ainsi de suite.

Les SHA-1 abrégés sont des abréviations dérivées de la signature 160 bits (ou 40 caractères hexadécimaux) d'un commit. Les développeurs utilisent une abréviation de 4 caractères (par exemple) par commodité au lieu du hache original de 40 caractères. Cependant, cette facilité peut également conduire à une collision de haches.

Par exemple, dans les versions antérieures, la commande git show afficherait un message indiquant que le nom abrégé est ambigu.

git show 454c    
error: short SHA1 454c is ambiguous.
error: short SHA1 454c is ambiguous.

Maintenant, la même commande affichera :

git show 454c
error: short SHA1 454c is ambiguous
hint: The candidates are:
hint:   454cb6bd5 commit 2016-11-29 - Git 2.11
hint:   454ce7ef2 blob

L'ambiguïté dans les noms peut alors être levée manuellement en fournissant plus de caractères ou via la commande git config.

Les noms abrégés plus longs sont également affichés par défaut. Par exemple, la commande suivante donne l'abréviation du nom sur neuf caractères au lieu de sept caractères comme dans les versions antérieures.

git log --oneline
454cb6bd5 Git 2.11

Git 2.11 améliore considérablement les performances des Chaînes Delta et des recherches d'Objets dans les packfiles. Il accélère le calcul des IDs de patchs, qui sont utilisés par la commande git rebase et enfin, inclut un mécanisme de filtrage pour accélérer la conversion vers et à partir de la représentation du système de fichiers local.

Il existe de nombreuses autres améliorations classées comme divers dans le blog. Celles-ci comprennent :

  • Une amélioration de l'algorithme de diff qui rend les résultats plus faciles à lire, et qui deviendra probablement le défaut à l'avenir.
  • Amélioration de git log pour être en mesure d'exclure un parent donné.
  • Une aide aux certificats dans contrib/ qui peut utiliser libsecret de GNOME pour stocker les mots de passe Git.
  • Le commande git diff affichera les modifications apportées aux sous-modules comme un patch entre les 2 états des sous-modules.
  • La sortie de git status rend le scripting plus aisé avec un nouveau format de sortie lisible par une machine.
  • Démarrage des travaux de conversion de certains scripts shell de Git en programmes C qui devraient améliorer les performances globales.

Git 2.11 a de nombreuses autres fonctionnalités qui peuvent être trouvées dans les Notes de Version.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT