Avez-vous essayé de repartir un repo à partir de zéro ? #28
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bonjour !
En lien avec #27 : je tente de repartir le repo à partir de zéro question de voir si le déménagement vers git.afpy.org s'est bien déroulé.
Suite au
git clone, quand je faismake verifsj'ai l'erreur suivante:Est-ce un oubli ? Quelque chose en cours ?
Tu as peut-être une autre version de
awk, peux-tu nous partager le résultat d'unawk --version?Ici j'ai :
(Wahh quelqu'un a traduit ça aussi !)
Oui c'était cela - j'avais
mawket nongawk- voir stackoverflow.Maintenant je suis sur une piste pour les références avec Availability...
Mon hypothèse: l'ajout de la directive
.. availability::dans la doc d'origine serait à transférer sur la traductionfr?Le message d'erreur d'origine mentionnnait:
J'ai lu sur le markup nécessaire pour traduire le texte d'une référence tout en gardant le lien de la référence --- voir https://github.com/sphinx-doc/sphinx/issues/1191 pour une piste.
J'ai vérifié dans
library/os.potoutes les références à la section Availabiility... et maintenant j'obtiens l'erreur suivante:Et si on suit dans le fichier
os.rst, on voit qu'une directive... availability::a été ajoutée. Mais quand ? En remontant dans le temps, je vois que c'est déjà le cas à 3.7...Je ne sais pas trop si c'est la bonne piste - ou quelle serait la bonne prochaine étape. J'ai probablement fait une erreur quelque part 😅
Bon déjà #29.
OK j'ai ton erreur après avoir réparé #29.
Je pense que le problème d'availability vient de cpython (pyspecific.py).
Probablement lié à :
En appliquant :
côté cpython on obtiens le numéro de la ligne dans l'erreur :
Mais ça n'aide pas beaucoup...
Damned, je n'ai pas plus d'indices :(
En attendant que l'on trouve comment résoudre le problème, un contournement possible est d'utiliser :
make SPHINXERRORHANDLING=qui continue la compilation malgré les warnings.
Avec Sphinx v6.1.3 et ton patch sur pyspecific.py, j'obtiens :
Il va me falloir un peu de temps pour comprendre vraiment ce qui se passe, mais la bonne nouvelle, c'est que j'ai un patch sur CPython qui a l'air de faire le job.
Ah j'ai trouvé je pense !
Donc en combinant le patch de @mdk et le
makede @ChristopheNan - j'obtiens qu'en fait, ce qui danslibrary/os.rst(notez que c'est le fichier .rst), l'indentation du texte suivant la directive.. availability:est d'un niveau d'indentation de trop.En effet, là où on a, vers les lignes 371 et quelques:
On devrait avoir - ou du moins, ceci permet de compiler sans erreurs:
Est-ce qu'originalement, on souhaitait que la directive
availabilityagisse sur le texte la suivant ou non - là je ne sais pas... mais bon, j'arrive à compiler 💯Je vais pousser sur ma branche pour que ce soit plus clair - et vous pourrez voir l'ensemble des autres changements par le fait même.
@eviau J'ai l'impression que Gitea ne met pas forcément à jour la page quand d'autres personnes ajoutent des commentaires. En tous cas, tu n'as pas l'air d'avoir vu mon commentaire ci-dessus. Mais pour quand tu le verras ainsi que celui-ci : certes, enlever l'indentation fonctionne, mais elle est intentionnelle.
@jeanas je pense que la page se met à jour, mais j'étais concentrée - comme je ne suis pas familière avec le code derrière la doc - je suis plutôt côté doc/traduction que doc/code - c'est pas toujours évident me familiariser avec la base de code 😅 donc je n'étais pas certaine si on disait la même chose !
Bref - désolée !
Gardons l'indentation si celle-ci est intentionnelle - mais j'aimerais bien comprendre comment résoudre le tout... 🕵️
make verifsfonctionne de nouveau #30Pour tenter de démêler le tout - et en jugeant que l'erreur était probablement de mon côté, même si d'autres l'ont reproduite ? - j'ai reparti une branche sur une version récente de 3.11 - cela semble rouler...
Les changements que j'ai apporté pour que
make verifsfonctionne de nouveau sont sur #30Oui elle est intentionnelle, dans pyspecific on le voit ici :
Ça dit "Si la directive a du contenu, il faut le parser", donc c'est bien attendu qu'elle en ai.
J'ai mergé #30 (qu'on aurait du faire il y a longtemps, merci d'avoir pris le temps de le faire).
Mais j'ai bien toujours :
Je tente un
git clean -dfqXpour repartir de zéro (parce que c'est le titre du ticket aussi).Suivi d'un
python -m pip install -r requirements.txt -r venv/cpython/Doc/requirements.txtpréconisé par leMakefile, suivi d'unmake.Exactement la même erreur, enfin, en perdant le numéro de ligne parce que j'avais patché ça à la main :
Pour #31, j'ai re-reparti de rien pour tester des hypothèses... ça semble fonctionner maintenant ? Mais ma solution est peut-être pas celle souhaitée - dites-moi ce que vous en pensez :)
J'ai un mini repo qui reproduit vaguement le problème ici :
https://git.afpy.org/mdk/sphinx-directive-i18n
En fait ça ne reproduit pas "le" problème mais sa cause je pense : le contenu de la directive n'est pas rendu du tout !
Pour moi, la racine du problème, c´est le node paragraph qui est utilisé comme conteneur pour toute la directive availability. En particulier, on a des
paragraphà l´intérieur unparagraph. Pas très étonnant que ça coince. Je n´ai pas déterminé tous les détails, mais à un moment donné, cela plonge notre Sphinx dans la confusion et il remplace le contenu entier de availability par la traduction de l'argument de la directive seulement, sans le contenu.D´où mon patch qui remplace le paragraph par un compound.
Awww merci pour l'explication !
En effet avec le code upstream j'obtiens :
Alors qu'avec ton code j'obtiens :
Pour l'exercice j'ai essayé de le ré-implémenter, ça donne quelque chose de très similaire à toi :
J'ai fusionné les deux appels à "inline_text" mais je doute que ce soit une idée lumineuse car ça "mélange" les éventuels messages, j'ignore cependnat à quel point c'est "plus lisible" quand ils sont bien découpés.
En conclusion j'aime bien ta version, tu peux faire une PR upstream ?
J'ai ouvert un ticket côté docutils pour voir s'ils pensent que ça devrait marcher ou s'ils pensent que ça devrait être interdit (et lever une exception ou un warning quand on fait ça).
=> https://sourceforge.net/p/docutils/bugs/466/
Bon ça build, mais le résultat n'est pas traduit :D
Ohhh
python/cpython@c351ce6a2cIl nous manque un
self.set_source_info(pnode), et donc d'hériter deSphinxDirectivepour l'avoir.C'est donc à ça que sert
SphinxDirective:))OK ça fonctionne !
Il nous faut :
et
Tu veux ouvrir la PR @jeanas ?
Voilà voilà.
https://github.com/python/cpython/pull/101846
Le retroportage de la PR cpython 101846 vers 3.11 permettrait de compiler sans avertissement.
En cours.
Il faudra refaire un
python merge.py 3.11aussi.Et voilà pour le
python merge.py 3.11qui prend en compte la PR de @jeanas #34.Grâce à vous on pourra démarer le sprint jeudi sans surprises, merci @eviau @jeanas @ChristopheNan !
Bravo à 🥇 @eviau @jeanas @mdk 🥇 pour avoir creusé et résolu ce bug avant la PyCon !
@eviau dis-nous si tu vois un autre souci, sinon je te laisse fermer cette issue ?
oui en effet on peut fermer je pense !
Merci à @mdk et à @jeanas pour la collaboration sur cette issue et pour avoir fait la MR 💯