Forum Programmation.autre git + meld = GLib-GIO-CRITICAL

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes :
3
17
mar.
2021

Salut,
J'utilise git sur Windows (pas le choix) : pour obtenir un outil de comparaison un peu plus "user friendly" que git diff, j'ai configuré l'usage de git difftool sur meld.
Cependant quand je lance la commande :

git difftool mon_fichier
La console (git bash) se remplit de lignes :

2021-03-17 17:04:19,377 CRITICAL Gtk:
(org.gnome.meld:10084): GLib-GIO-CRITICAL **: 17:04:19.377: g_content_type_is_a: assertion 'type != NULL' failed

J'ai cherché sur internet et j'ai trouvé un bug mingw, cependant même après avoir copié les fichiers depuis le répertoire de meld (je n'ai pas de répertoire /mingw64/share/meld) dans /mingw64/share/gtksourceview-3.0/styles, j'ai toujours les mêmes erreurs.

Du coup, je suis bien embêté car je trouve meld supérieur à WinMerge … qui cependant ne présente pas ce défaut, mais sans autre solution, je vais devoir me tourner vers WinMerge.

Merci d'avance pour vos réponses.

  • # Ignore-les

    Posté par  (site Web personnel) . Évalué à 3.

    Ignore ces messages ;).

    Sans déc', tu ne pourras rien faire à moins de corriger et recompiler le code source de Meld/GTK+/GLib et ça fait un gros paquet de taf.

    Sinon, tu utilises Git via Bash ? (je suis sûr qu'il installe Bash en même temps). Si oui, tente voir :

    alias meld="meld --gtk-no-debug --gdk-no-debug"
    

    Sans Bash, tu peux aussi modifier le difftool dans le fichier .gitconfig (je te laisse trouver) et rajouter ces mêmes paramètres derrière la commande meld.

    • [^] # Re: Ignore-les

      Posté par  (site Web personnel) . Évalué à 1.

      Merci pour ta réponse.
      Oui, j'utilise git via Bash (comme indiqué dans mon premier message ;-) ! )
      J'ai essayé de lancer meld avec les options no debug :

      meld --gdk-no-debug all --gtk-no-debug all

      Et j'ai toujours le même résultat : effectivement, recompiler meld/GTK+/GLib est un peu trop gros comme boulot pour moi … surtout si je dois le faire à chaque nouvelle version !

      Ce qui est bizarre c'est en lançant meld depuis une console shell Windows (CMD) je n'ai pas ces messages d'erreurs : il semblerait que mingw ait une part de responsabilité dans ces messages d'erreur.

      • [^] # Re: Ignore-les

        Posté par  . Évalué à 3.

        supprimer mingw et utiliser les WSL qui te fournissent tous les outils Linux sous Windows, fournit par microsoft donc assurant une compatibilité plus grande (en principe)

        • [^] # Re: Ignore-les

          Posté par  (site Web personnel) . Évalué à 3.

          Oui mais non : je n'ai pas le choix, c'est l'installation de git qui fournit bash (via mingw) … et c'est comme ça, là où je suis !

          Mais j'ai trouvé une solution de contournement : j'ai paramétré le lancement de git difftool et git mergetool en redirigeant la sortie d'erreur vers null

          Meld.exe ... 2>/dev/null

          C'est sûr que je supprime tous les messages d'erreur … mais à priori, il n'y en a pas qui m'intéresse au lancement de Meld. Et si un jour, j'ai un souci au lancement de Meld, je pourrai toujours le lancer directement pour voir les messages d'erreur.

          Merci pour votre aide à tous les 2 !

          Bizarre quand même que je sois le seul affecté par cette erreur dans l'utilisation de Meld avec git (sur Windows) … je me demande bien ce que les autres utilisateurs de git sur Windows utilisent pour effectuer leurs merges … WinMerge ?
          Je suppose que la majorité utilise un outil de diff graphique et non pas le diff de base ! ? !

          • [^] # Re: Ignore-les

            Posté par  . Évalué à 4.

            au lieu de tout rediriger vers /dev/null, un coup de grep -v peut te virer que les lignes qui t'embêtent et tu as toujours la possibilité de voir si tu as un autre message important un jour.

            • [^] # Re: Ignore-les

              Posté par  (site Web personnel) . Évalué à 1.

              J'avais pensé au grep … mais comme il y a 2 lignes, c'est plus simple avec la redirection vers null … d'autant plus que c'est stderr et pas stdout.
              Si je tombe sur une erreur de meld, je reviendrai vers la solution grep … mais je n'y crois pas trop !
              Merci quand même.

          • [^] # Re: Ignore-les

            Posté par  (site Web personnel) . Évalué à 2.

            Je suppose que la majorité utilise un outil de diff graphique et non pas le diff de base ! ? !

            Perso, Windows ou pas, j'utilise le diff de base ; j'ai appris à m'en servir il y a longtemps et je trouve ça assez simple si on est méthodique. Je dirais aussi que l'avantage est qu'il marche partout (comme vi ;) ).

            C'est peut-être 100x plus simple avec un outil, hein, c'est juste que j'ai jamais appris à faire.

            • [^] # Re: Ignore-les

              Posté par  . Évalué à 2.

              idem, le diff de base ; et parfois vimdiff

              “It is seldom that liberty of any kind is lost all at once.” ― David Hume

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.