Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités

    Git, le système distribué de gestion de versions, vient de passer à la version 2.28
    Git, le système distribué de gestion de versions, vient de passer à la version 2.28
    et remplace le nom master par init.defaultBranch lors de la création d'une première branche

    Git, le système distribué de gestion de versions vient de passer à la version 2.28. Voici un aperçu de certaines des fonctionnalités et des modifications les plus intéressantes apportées.

    Présentation de init.defaultBranch

    Lorsque vous initialisez un nouveau référentiel Git à partir de zéro avec git init, Git a toujours créé une première branche initiale avec le nom master. Dans Git 2.28, une nouvelle option de configuration, init.defaultBranch est introduite pour remplacer le terme codé en dur. Ce changement a été annoncé par la Software Freedom Conservancy qui s'inscrit dans un mouvement plus général dans l'industrie informatique pour supprimer les expressions qui pourraient avoir des connotations négatives :

    « Conservancy et le projet Git sont conscients que le nom initial de la branche, "master", est offensant pour certaines personnes et nous compatissons avec ceux qui sont blessés par l’utilisation de ce terme.

    « Les versions existantes de Git sont capables de fonctionner avec n'importe quel nom de branche; il n’y a rien de spécial à propos de ‘master’ sauf qu’il a toujours été le nom utilisé pour la première branche lors de la création d’un nouveau dépôt à partir de zéro (avec la commande git init). Ainsi, de nombreux projets l'utilisent pour représenter la ligne principale de développement. Nous soutenons et encourageons les projets à passer à des noms de branche significatifs et inclusifs, et nous ajouterons des fonctionnalités à Git pour rendre encore plus facile l'utilisation d'une valeur par défaut différente pour les nouveaux projets.

    « Dans un premier temps, Git ajoutera un mécanisme pour permettre aux utilisateurs de spécifier la valeur par défaut utilisée comme nom de la première branche lors de la création d'un nouveau référentiel. De plus, conformément à sa gouvernance de projet, Git a entrepris un processus communautaire pour explorer le changement du nom de la première branche créée automatiquement pour les nouveaux référentiels en dehors de «master». Ce changement est actuellement discuté sur notre liste de diffusion. Comme toujours, les modifications apportées au cœur de Git minimiseront les perturbations pour les utilisateurs de Git et incluront des périodes de dépréciation appropriées.

    « Pendant ce temps, Git en tant que projet reste engagé dans l'encouragement de la participation des groupes sous-représentés au développement de Git lui-même. Git poursuit sa participation, commencée il y a quatre ans, à l'initiative Outreachy de Conservancy. Conservancy continue également d'explorer et de soutenir d'autres initiatives qui peuvent également aider dans ce domaine. »

    C'est dans ce contexte qu'a été proposé init.defaultBranch qui sera désormais recherché par git init à la place de master lors de la création de la première branche dans un nouveau référentiel. Cependant, si cette valeur n'est pas définie, init.defaultBranch va utiliser par défaut master.


    Filtres de Bloom de chemin modifié

    Un filtre de Bloom est une structure de données. C'est une implémentation du type abstrait Ensemble. Cette structure est probabiliste, c'est-à-dire qu'elle utilise des probabilités, et que sa correction est probabiliste. Plus précisément, lors du test de la présence d'un élément dans un ensemble, un filtre de Bloom permet de savoir :
    • avec certitude que l'élément est absent de l'ensemble (il ne peut pas y avoir de faux négatif) ;
    • avec une certaine probabilité que l'élément peut être présent dans l'ensemble (il peut y avoir des faux positifs).

    Dans Git 2.27, le format de fichier de commit-graph a été étendu pour stocker les filtres de Bloom de chemin modifié. Cela signifie dans un sens que ces nouvelles informations aident Git à trouver les points de l'historique qui ont touché un chemin donné beaucoup plus rapidement (par exemple, git log -- <path> ou git blame). Git 2.28 tire parti de ces optimisations pour offrir une poignée d'améliorations de performances importantes.

    Dans les termes les plus simples, le fichier de commit-graph stocke des informations sur les commits. Essentiellement, le commit-graph agit comme un cache pour les informations couramment utilisées sur les commits : qui sont leurs parents, quel est leur arbre racine, ainsi de suite. Il stocke également des informations calculées, comme le numéro de génération d'un commit et des filtres de Bloom de chemin modifié.

    Pourquoi stocker toutes ces informations ? Avant d'y répondre, il est utile d'avoir une compréhension rapide de la façon dont Git stocke les objets. Git stocke les objets de deux manières: soit en tant qu'objet libre (auquel cas le contenu de l'objet est stocké dans un seul fichier unique à cet objet sur le disque), soit en tant qu'objet compressé (auquel cas l'objet est assemblé à partir d'un format compressé dans un fichier *.pack). Quelle que soit la manière dont un commit est stocké, Git doit toujours l'analyser et le décompresser avant que ses champs tels que root tree et parents ne soient accessibles.

    Avec un fichier de commit-graph, toutes ces informations sont immédiates : pour un commit C donné, Git sait exactement où chercher dans un fichier de commit-graph pour tous ces champs que Git stocke et peut les lire immédiatement, pas de décompression ou d'assemblage requis. Cela peut réduire le temps de vos opérations Git habituelles en soi, mais le commit-graph brille vraiment dans les données calculées qu'il stocke.

    Les numéros de génération sont une sorte d'index d'accessibilité qui peut aider Git à répondre très rapidement à des questions telles que l'accessibilité et l'ordre topologique.

    Quelques autres nouvelles fonctionnalités
    • Git inclut désormais un workflow GitHub Actions que vous pouvez utiliser pour exécuter les propres tests d'intégration de Git sur une variété de plates-formes et de compilateurs. Aucun effort supplémentaire n'est requis de votre part: si vous avez un fork de git / git sur GitHub, chaque push sera exécuté à travers le tableau de tests nécessaires pour valider votre changement. Si vous pouvez utiliser une liste de diffusion sur Git, avec cette version vous pourrez désormais vous servir de GitGitGadget sur le référentiel git / git. Cela signifie que vous pouvez ouvrir une pull request et demander à GitGitGadget de l'envoyer à la liste de diffusion en votre nom. Donc, si vous êtes plus à l'aise pour contribuer à Git comme ça au lieu de composer des e-mails manuellement, vous pouvez désormais contribuer à Git du début à la fin en utilisant GitHub.
    • D'un autre côté, si cela ne vous dérange pas d'envoyer un e-mail ou deux, il est désormais beaucoup plus facile d'interagir avec la liste de diffusion Git lorsque vous rencontrez un bogue en exécutant git bugreport. L'exécution de cette nouvelle commande ouvrira votre $EDITOR avec un formulaire prérempli de questions qui seront utiles pour déboguer votre problème. Il comprend également des informations utiles sur votre système, comme l'architecture de votre processeur, la version de Git que vous utilisez, etc. Lorsque vous avez terminé, vous pouvez envoyer ce fichier sous forme de corps d'un e-mail à la liste de diffusion Git.
    • git status a également appris de nouvelles astuces. Désormais, git status peut vous rappeler quand vous êtes dans un sparse checkout en vous indiquant le pourcentage de fichiers que vous avez extraits.Pour ceux qui aiment utiliser git-prompt.sh, l'invite affichera désormais SPARSE si vous êtes dans un sparse checkout.

    Source : GitHub, Software Freedom Conservancy
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Expert confirmé
    Citation Envoyé par Stéphane le calme Voir le message
    « Conservancy et le projet Git sont conscients que le nom initial de la branche, "master", est offensant pour certaines personnes et nous compatissons avec ceux qui sont blessés par l’utilisation de ce terme.
    C'est quand même osé, quand on voit l'origine de git...

    “git”, qui est à peu près l'équivalent de “connard” en argot britannique
    https://fr.wikipedia.org/wiki/Git#Origine_du_nom

  3. #3
    Expert éminent sénior
    La différence c'est que le nom "git" n’offense pas une catégorie de personne en particulier.

  4. #4
    Membre éclairé
    Citation Envoyé par SimonDecoline Voir le message
    C'est quand même osé, quand on voit l'origine de git...

    “git”, qui est à peu près l'équivalent de “connard” en argot britannique
    https://fr.wikipedia.org/wiki/Git#Origine_du_nom
    Je ne savais pas que Git voulait dire connard en argot en ! :O
    Enorme ^^
    "S'adapter, c'est vaincre !"

  5. #5
    Membre actif
    Citation Envoyé par Uther Voir le message
    La différence c'est que le nom "git" n’offense pas une catégorie de personne en particulier.
    [ mode troll]
    Le problème c'est que si tu as la discussion suivante en anglais
    - Quels est votre outil de gestion de version ?
    - Git
    .
    Si une personne extérieur n'entends que la réponse , elle risque de croire que tu n'es pas "gentil" avec ton interlocuteur ( surtout si tu es blanc et que lui fait parti d'une minorité quelconque ). , je me méfie surtout avec certain les américains.

    [/mode troll]

  6. #6
    Nouveau membre du Club
    On est vraiment passés à une génération de fragiles c'est ahurissant... C'est devenu la phrase magique "cela m'offense".

  7. #7
    Membre à l'essai
    Ëtre efficace serait mieux.
    Ridicule... Comme d'habitude, que du saupoudrage pour "faire croire" qu'on s'en occupe... S'attaquer aux mots au lieu de s'attaquuer aux idées est d'une bêtise incommensurable... Pas hyper étonnant, on vit dans un monde "américain" donc stupide et superficiel mais ça a l'air de plaire à la majorité des boeufs... C'est pas de changer "master" en init etc.... qui va empêcher d'autres Georges Floyd ou rendre des flics intelligents. En plus aujourd'hui, ces c... sont devenus une milice d'extrême droite dédiée aux banques...

  8. #8
    Expert éminent sénior
    Il faut en effet s'attaquer aux idées et les mots sont tout de même le véhicule des idées. Ce n'est évidement pas parce que l'on change les mots que l'on va résoudre tous les problèmes de racisme, il n’empêche que ça ne fait pas de mal d'enlever du vocabulaire courant les termes qui s'y ramènent.

    Git ne va effectivement pas changer le comportement de la police. Il fait juste ce qu'il peut faire a son niveau, même si c'est peu. C'est pas comme si ça empêchait les autres types d'efforts qui ne dépendent pas de lui.

  9. #9
    Membre éclairé
    Boh, pour moi c'est juste une excuse pour se faire mousser, c'est juste une fonctionnalité qui aurait du être là depuis un moment de pouvoir renommer le tronc, ça me paraissais évident, ils y ont juste vu une opportunité de s'afficher une bonne image sur une simple mise à jour.

    C'est l'équivalent de mettre un drapeau dans le logo.

  10. #10
    Membre éclairé
    Ça commence à me fatiguer tous ces changements pour ne pas offusquer les gens. Quand tu es un minimum sain d'esprit tu sais très bien qu'il y a pas de connotation négative dans un mot d'un logiciel.

    Dans ce cas, devrions nous changer le nom de la fonction C abort parce qu'elle porte le même nom que l'avortement qui est un sujet tabou dans certains pays ? C'est de plus en plus ridicule.

  11. #11
    Membre éclairé
    Citation Envoyé par Markand Voir le message
    Ça commence à me fatiguer tous ces changements pour ne pas offusquer les gens. Quand tu es un minimum sain d'esprit tu sais très bien qu'il y a pas de connotation négative dans un mot d'un logiciel.

    Dans ce cas, devrions nous changer le nom de la fonction C abort parce qu'elle porte le même nom que l'avortement qui est un sujet tabou dans certains pays ? C'est de plus en plus ridicule.
    Bah changer le nom d'une fonction c'est relou pour ceux qui l'utilisent.

    En revanche, donner la possibilité de renommer le tronc peut importe le contexte c'est un truc qui aurait du faire partie de GIT depuis un moment. Combien font des branches qui s’appellent "PROD" sur git et au final le master est un miroir prod...

  12. #12
    Membre du Club
    Supprimer le terme 'master' est offensant
    Citation Envoyé par Uther Voir le message
    Il faut en effet s'attaquer aux idées et les mots sont tout de même le véhicule des idées. Ce n'est évidement pas parce que l'on change les mots que l'on va résoudre tous les problèmes de racisme, il n’empêche que ça ne fait pas de mal d'enlever du vocabulaire courant les termes qui s'y ramènent.

    Git ne va effectivement pas changer le comportement de la police. Il fait juste ce qu'il peut faire a son niveau, même si c'est peu. C'est pas comme si ça empêchait les autres types d'efforts qui ne dépendent pas de lui.
    [troll]
    En supprimant ce terme j'ai l'impression qu'on me traite directement de raciste pars que j'utilise une branche nommée 'master'. Ce terme est censé être offensant par des personnes ? Il y a des gens qui se prennent pour des branches ?
    [/troll]

    Sérieusement, il y a vraiment des gens dans le monde qui n'ont pas les capacités de différencier les significations des mots, c'est un fait. Qui se ressemble s'assemble dit on lorsqu'on est raciste / xénophobe / limité. C'est la même chose pour les gens qui militent pour l'appauvrissement du vocabulaire qu'il ne comprennent pas. Ce sont des gens qui ne savent pas voir les idées derrière les mots et qui prennent tout au pieds de la lettre.
    En forçant la population a associer une valeur négative a un mot qui à bien d'autre sens nous bannissons en même temps toutes les autres idées que ce dernier peut véhiculer. Nous continuons tranquillement notre chemin vers la fameuse "novlangue".
    C'est triste de voir que le monde est guidé par les plus limités d'entre nous.

    PS: je suis content j'ai réussi à ne pas être [trop] agressif et à ne pas déverser toute la haine que j'éprouve à assister aux victoires quotidiennes de l'idiocratie

  13. #13
    Expert confirmé
    Citation Envoyé par Dymmm Voir le message
    En forçant la population a associer une valeur négative a un mot qui à bien d'autre sens nous bannissons en même temps toutes les autres idées que ce dernier peut véhiculer. Nous continuons tranquillement notre chemin vers la fameuse "novlangue".
    C'est triste de voir que le monde est guidé par les plus limités d'entre nous.
    Il faut arrêter avec la novlangue, c'est juste de la fiction. Ca vient essentiellement de l'hypothèse de Sapir-Whorf, et c'est plutôt faux.

    l’hypothèse de Sapir-Whorf soutient que les représentations mentales dépendent des catégories linguistiques, autrement dit que la façon dont on perçoit le monde dépend du langage.
    ...
    ils concluent à l'inverse que c'est l'organisation des catégories mentales qui détermine les catégories linguistiques3. Bien que rejetée dans sa version radicale, la thèse de Sapir-Whorf a toutefois rencontré un regain d'intérêt à la fin du XXe siècle dans le cadre des travaux expérimentaux montrant que le langage pouvait bel et bien avoir un effet, parfois faible mais néanmoins mesurable, sur la perception et la représentation de l'espace, du temps et des émotions.
    https://fr.wikipedia.org/wiki/Hypoth...de_Sapir-Whorf

  14. #14
    Membre du Club
    Citation Envoyé par SimonDecoline Voir le message
    Il faut arrêter avec la novlangue, c'est juste de la fiction.
    Oui, je merite bien mon point Orwell

    Edit : hors sujet

  15. #15
    Membre émérite
    Citation Envoyé par Uther Voir le message
    Il faut en effet s'attaquer aux idées et les mots sont tout de même le véhicule des idées. Ce n'est évidement pas parce que l'on change les mots que l'on va résoudre tous les problèmes de racisme, il n’empêche que ça ne fait pas de mal d'enlever du vocabulaire courant les termes qui s'y ramènent.

    Git ne va effectivement pas changer le comportement de la police. Il fait juste ce qu'il peut faire a son niveau, même si c'est peu. C'est pas comme si ça empêchait les autres types d'efforts qui ne dépendent pas de lui.
    Mouais... J'apprécie le fait que le comportement par défaut ne change pas.

    Là où je ne suis pas d'accord avec toi, c'est que s'attaquer aux mots ne sert à rien, surtout quand on les sort de leur contexte! Les branches de Git ne sont pas des "slaves" mais des "copy", puisque "master" vient de "master copy": en gros, le travail d'un maître et celui de ses disciples (et non de ses esclaves)... Sauf que face à une foule en colère et décérébrée, on ne peut pas raisonner alors on cède et on renomme comme des débiles
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  16. #16
    Membre averti
    Citation Envoyé par Uther Voir le message
    Il faut en effet s'attaquer aux idées et les mots sont tout de même le véhicule des idées. Ce n'est évidement pas parce que l'on change les mots que l'on va résoudre tous les problèmes de racisme, il n’empêche que ça ne fait pas de mal d'enlever du vocabulaire courant les termes qui s'y ramènent.

    Git ne va effectivement pas changer le comportement de la police. Il fait juste ce qu'il peut faire a son niveau, même si c'est peu. C'est pas comme si ça empêchait les autres types d'efforts qui ne dépendent pas de lui.
    C'est le début d'un combat sans fin. Bientôt il faudra changer la couleur des logo car le rouge porte atteinte aux daltoniens ou rappelle à certains pays de l'Est une douloureuse histoire?

    S'en prendre aux mots plutôt qu'aux idées c'est vouloir soigner un arbre en coupant les branches quand le tronc est atteint.Déboulonner les statues dans un élan populaire d'un Alzheimer volontaire c'est réfuter l'histoire.Qu'elle nous plaise ou non : elle a déjà eut lieu!
    On dirait l'attitude des enfants quand ils sont petits: pour se cacher il se mettent la main sur les yeux en se disant que s'ils ne nous voient pas, on ne peut pas les voir.

    La plupart des nations se sont créées avec des guerres, de l'esclavage, des trahisons. Avec Git qui à renommé la branche master, j'ai un très très fort doute qu'au Texas, au Liban ou dans le 93 (par exemple, ce sont des clichés) l'amour soit revenu entre les peuples et le racisme, l’antisémitisme aient baissé.

  17. #17
    Membre habitué
    J'avais un maître à l'école et pourtant nous n'étions pas ses esclaves, qui plus est un véritable bourreau de travail, peut-être faudrait-il supprimer également ce mot !

    J'ai de la chance quelque part d'avoir raté mon master

  18. #18
    Membre éprouvé
    L'informatique a beaucoup évolué ces dernières années. Si aux temps anciens nous avions eu le temps de nous poser des questions sur les extensions lexicales de locutions telles que "maître/esclave", nous en serions encore à coder en binaire aujourd'hui. Je ne suis pas sûr que le Monde s'en porterait plus mal, d'ailleurs.
    Accessoirement, on les paie, toutes ces "bonnes volontés" ?

    Idiocracy, le seul film qu'il faut avoir vu.

  19. #19
    Membre à l'essai
    Laisser le choix du nom de la branche initiale est une bonne idée. La justification de cette nouveauté est en revanche consternante. Le mot "master" n'a pas de connotation négative en soi. Tout dépend du contexte. Est-ce que les disciples d'un maître en art martial se sentent offensés de devoir l'appeler "maître" ? Ils sont ses disciples, pas ses esclaves. "master" dans le cas de Git est simplement l'équivalent de "main", ou "branche principale". Mais tout celà les mainteneurs de Git le savent déjà, c'est de la pure couardise face aux groupes de pression politiquement correct. Honte à eux!

  20. #20
    Membre du Club
    Autant je trouve que ça peut être pratique de pouvoir changer le nom de la branche principale, autant je trouve que la justification est stupide. Parfois, je me demande si des gens se sont plaints de ce genre de noms et puis je me rappelle du mec qui s'est plaint auprès de Microsoft à cause d'un bonnet de Noël dans VS Code

###raw>template_hook.ano_emploi###