11 points par GN⁺ 2023-12-13 | 2 commentaires | Partager sur WhatsApp

Question sur le fait de savoir si Git est la solution ultime en matière de système de gestion de versions (VCS), ou s’il est possible de concevoir un meilleur système

Principales réponses

  • Apprendre Git est bien plus utile que d’utiliser un autre VCS ou d’en créer un nouveau
  • La CLI de Git n’est pas bonne, donc des efforts sont menés un peu partout pour résoudre les problèmes d’interface de Git
  • Jujutsu combine les avantages d’autres systèmes de gestion de versions distribués (DVCS) et introduit des concepts innovants
  • Fossil, créé par le développeur de SQLite, permet de suivre l’historique d’un fichier dans les deux sens
  • Pijul semble également prometteur
  • Les internals de Git ne sont pas compliqués, mais son interface est déroutante
  • Cela reste insuffisant pour les gros fichiers binaires. LFS est maladroit
  • Darcs est aussi correct

2 commentaires

 
rapihara 2023-12-13

Je pense qu’en tant que développeur de jeux manipulant fréquemment des fichiers volumineux, il est inévitable de se heurter aux limites de l’utilisation de Git.
Comme Git stocke les données sous forme de snapshots, même une légère modification d’un fichier peut entraîner une forte augmentation de l’espace de stockage. Pour résoudre ce problème, il faudrait utiliser un stockage de type delta plutôt que snapshot, mais cela irait à l’encontre de la philosophie de conception fondamentale de Git. Dans ce cas, il serait peut-être préférable d’utiliser Mercurial, qui est lui aussi un DVCS mais stocke les données de manière delta.

 
GN⁺ 2023-12-13
Avis Hacker News
  • Beaucoup de personnes ont découvert Git comme premier et unique système de contrôle de version (VCS).

    • Certains étaient auparavant passés de RCS, CVS ou SVN à Git.
    • Git a corrigé les défauts structurels fondamentaux des systèmes précédents.
    • Les limites de Git tiennent au fait que les utilisateurs doivent savoir comment l’utiliser.
    • Les tentatives de simplifier l’interface complexe de Git peuvent affaiblir sa puissance.
    • Apprendre Git est bien plus utile que d’utiliser un autre VCS ou d’en créer un nouveau.
  • Question sur les aspects que Git devrait améliorer pour devenir un VCS « meilleur ».

    • L’interface utilisateur en ligne de commande de Git est complexe.
    • Git a pu croître rapidement, mais au prix de l’expérience utilisateur de la CLI.
    • Plusieurs entreprises proposent diverses solutions pour résoudre les problèmes d’interface de Git.
  • Le système de gestion de versions Jujutsu combine les avantages d’autres systèmes de gestion de versions distribués (DVCS) et introduit des concepts innovants.

    • Il a déjà été discuté à plusieurs reprises sur Hacker News.
  • Fossil, un système créé par les fondateurs de Sqlite.

    • Contrairement à Git, Fossil permet de suivre l’historique d’un fichier dans les deux sens.
  • Avis selon lequel Git n’est pas parfait, mais reste meilleur que ses alternatives.

    • La découvrabilité des fonctionnalités de Git est déroutante et complexe.
    • Apprendre Git demande beaucoup d’efforts, mais il n’y a pas de problème lorsqu’on n’utilise que les commandes de base.
  • Le fonctionnement interne de Git n’est pas compliqué, mais son interface utilisateur est confuse.

    • Il faut simplifier l’interface utilisateur, pas Git lui-même.
  • Fossil est présenté comme une alternative à Git.

    • Fossil inclut un outil de forge qui résout le problème de centralisation des dépôts Git.
  • Souhait que Git gère mieux, nativement, les gros fichiers et les ressources binaires.

    • LFS (Large File Storage) est correct, mais pas parfait.
    • La CLI n’est pas un problème, et il existe de nombreux outils alternatifs.
  • Fossil de Sqlite et Sapling de Facebook sont mentionnés comme alternatives à Git.

  • Théorie personnelle sur la manière d’améliorer l’interface de Git.

    • Se concentrer davantage sur le dépôt comme graphe orienté et employer un vocabulaire proche de celui des graphes.
    • Cela rendrait Git plus facile à apprendre pour les personnes ayant une formation en mathématiques.