Publication de Git 2.50

Publication du systÚme de gestion de texte distribué Git 2.50. Git se distingue par ses performances élevées et propose des outils de développement non linéaire basés sur le branchement et la fusion des branches. Pour garantir l'intégrité de l'historique et la résistance aux modifications 'rétroactives', il utilise un hachage implicite de toute l'histoire précédente dans chaque commit, ainsi que la certification par des signatures numériques des développeurs pour les tags et commits individuels. Le code de Git est distribué sous la licence GPLv2+.

Comparé à la version précédente, la nouvelle version comprend 621 modifications, préparées avec la participation de 98 développeurs, dont 35 participent pour la premiÚre fois au développement. Les principales nouveautés :

  • La possibilitĂ© de subdiviser en plusieurs fichiers d'objets inaccessibles ('cruft packs') a Ă©tĂ© Ă©largie, sur lesquels il n'existe pas de rĂ©fĂ©rences dans le dĂ©pĂŽt (aucune branche ou tag ne les pointe). L'utilisation de plusieurs petits fichiers pack au lieu d'un gros permet de rĂ©duire significativement les opĂ©rations d'entrĂ©e/sortie lors de la rĂ©emballage des dĂ©pĂŽts avec un grand nombre d'objets inaccessibles, car il n'est pas nĂ©cessaire de réécrire toutes les donnĂ©es pour chaque opĂ©ration de rĂ©emballage.

    La nouvelle version propose l'option '--combine-cruft-below-size', qui permet de fusionner les fichiers pack existants dont la taille ne dépasse pas une valeur donnée. Contrairement à l'option précédemment disponible '--max-cruft-size', la nouvelle option '--combine-cruft-below-size' ne limite pas la taille maximale du fichier pack résultant, ce qui permet de fusionner plus efficacement les fichiers pack dans les dépÎts avec un grand nombre d'objets inaccessibles, répartis sur plusieurs fichiers pack.

  • Ajout d'un support expĂ©rimental pour la mise Ă  jour incrĂ©mentielle des index multi-pack MIDX (multi-pack index), oĂč chaque couche d'index MIDX contenant des informations sur la disponibilitĂ© des objets est stockĂ©e dans un fichier bitmap sĂ©parĂ©. Dans les trĂšs grands dĂ©pĂŽts, la forme d'index mise en Ɠuvre permet d'ajouter rapidement et efficacement de nouvelles cartes de disponibilitĂ© des objets au fur et Ă  mesure des commits.
  • Le moteur ancien d'exĂ©cution des opĂ©rations de fusion «recursive» a Ă©tĂ© retirĂ© de la base de code, remplacĂ© par un moteur entiĂšrement repensĂ©, «ORT» (Ostensibly Recursive’s Twin), offrant de meilleures performances, plus de fonctionnalitĂ©s et une maintenance plus aisĂ©e. ORT permet de vĂ©rifier la possibilitĂ© de fusionner deux objets sans crĂ©er de nouveaux objets dans le dĂ©pĂŽt (avec l'ancien moteur, il fallait exĂ©cuter la commande «git merge-tree —write-tree», qui Ă©crivait de nouveaux objets dans le dĂ©pĂŽt). Dans Git 2.50, l'option «—quiet» a Ă©tĂ© ajoutĂ©e Ă  la commande merge-tree, permettant de vĂ©rifier la possibilitĂ© de fusion sur la base du code de retour sans Ă©crire de donnĂ©es dans le dĂ©pĂŽt.
  • L'option «—filter» a Ă©tĂ© ajoutĂ©e Ă  «git cat-file —batch» et Ă  des commandes similaires, permettant de sauter certains objets lors de l'exĂ©cution de l'opĂ©ration. git cat-file —batch-check=’%(objectname)’ —filter=’object:type=tree’
  • La commande «git maintenance» a introduit trois nouvelles actions : worktree-prune, rerere-gc et reflog-expire. L'action worktree-prune est destinĂ©e Ă  supprimer les anciens ou corrompus arbres de travail (worktrees) dans le dĂ©pĂŽt. L'action rerere-gc efface les anciennes entrĂ©es restantes aprĂšs la rĂ©solution des conflits de fusion. L'action reflog-expire retire les objets obsolĂštes et inaccessibles du reflog.
  • La commande «git reflog drop» a Ă©tĂ© ajoutĂ©e, permettant de supprimer toutes les donnĂ©es reflog pour la branche spĂ©cifiĂ©e.
  • L'optimisation du traitement et de l'utilisation des rĂ©fĂ©rences a Ă©tĂ© effectuĂ©e, par exemple, le caching des prĂ©fixes de rĂ©fĂ©rences a Ă©tĂ© mis en place, et des vĂ©rifications superflues lors de l'exĂ©cution de la commande «git update-ref» ont Ă©tĂ© supprimĂ©es, augmentant l'efficacitĂ© de la recherche des itĂ©rateurs de rĂ©fĂ©rences existants.
  • Des paramĂštres KeepAlive ont Ă©tĂ© ajoutĂ©s Ă  la bibliothĂšque cURL : http.keepAliveIdle, http.keepAliveInterval et http.keepAliveCount.
  • La commande «git rev-list» a permis la sortie dans un format adaptĂ© Ă  l'analyse automatique, oĂč chaque champ est sĂ©parĂ© par le caractĂšre NUL.
  • Le langage Perl a Ă©tĂ© exclu des dĂ©pendances nĂ©cessaires pour les utilitaires de documentation et l'exĂ©cution du jeu de tests («make test»). De nombreux scripts Perl en une seule ligne dans les tests ont Ă©tĂ© remplacĂ©s par des fonctions shell ou réécrits en C.
  • Un gestionnaire userdiff a Ă©tĂ© ajoutĂ© pour le format de fichier de configuration «.ini».
  • Le support du serveur SMTP d'Outlook a Ă©tĂ© amĂ©liorĂ© dans la commande send-email.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster