Skip to content

Pospell est trop lent. #974

Closed
Closed

Description

@awecx

Le make pospell revérifie tous les fichiers .po, même s'il n'ont pas été modifiés.
Il faut améliorer le Makefile.

Activity

  1. self-assigned this
    on Nov 5, 2019
  2. deronnax commented on Nov 5, 2019

    @deronnax
    Collaborator

    Bien vu. Pareil pour powrap

  3. Seluj78 commented on Nov 5, 2019

    @Seluj78
    Collaborator

    Alors que potodo 😇

  4. deronnax commented on Nov 9, 2019

    @deronnax
    Collaborator

    quelle piste pour ça ? On rajoute juste le -m dans le Makefile ? Le problème de ça, c'est que si le débutant commit, ses fichiers ne seront plus vérifiés. On pourrait invoquer git pour vérifier les fichiers touchés par les commit situés après le "master" ? On utilise pas le master, mais on a l'info de la branche CPython dans le Makefile. git diff $(VERSION)... --name-only semble faire ce qu'on veut. @JulienPalard ça te semble OK ?

    En tout cas, c'est un besoin, surtout qu'une bonne partie des traducteurs débutants on des PC bien pourris et la commande pospell est impossible à retenir/comprendre pour un débutant

  5. awecx commented on Nov 11, 2019

    @awecx
    ContributorAuthor

    On n'aurait pas plus intérêt à faire du « pur » Makefile ?
    On pourrait T-er (je parle de « tee ») une vérification par pospell dans un fichier tiers (blabla.po.out) et les marquer en dépendance de make pospell. On aurait ainsi la chaine de dépendance blabla.po > blabla.po.out > pospell. Dès que blabla.po est modifié, on le revérifie.

  6. deronnax commented on Nov 11, 2019

    @deronnax
    Collaborator

    mais du coup, il vérifierait quand même tout au premier lancement, non ?

  7. awecx commented on Nov 11, 2019

    @awecx
    ContributorAuthor

    C'est vrai.

  8. Seluj78 commented on Nov 11, 2019

    @Seluj78
    Collaborator

    Après ce fichier .out on peux le stocker en cache avec travis aussi https://docs.travis-ci.com/user/caching/

  9. deronnax commented on Nov 11, 2019

    @deronnax
    Collaborator

    Hmmm, @awecx quand tu dis que pospell est trop lent, tu vises seulement le cas où il est lancé sur la machine d'un utilisateur ou tu inclus également la CI ? Moi je l'avais compris comme machine utilisateur seulement (y'a un ticket dédié pour la CI)

  10. awecx commented on Nov 12, 2019

    @awecx
    ContributorAuthor

    Non je vise bien la machine d'un utilisateur. Dans mon idée, on ne doit payer qu'une seule fois le pospell, et ensuite seulement les fichiers modifiés, un peu comme la génération de la doc elle-même (même si je ne suis pas sûr qu'elle soit à 100% incrémentale).

  11. JulienPalard commented on Nov 14, 2019

    @JulienPalard
    Member

    On pourrait T-er (je parle de « tee ») une vérification par pospell dans un fichier tiers (blabla.po.out)

    J'aime bien, mais si on fait ça pour pospell, powrap, et tous les autres, on va se retrouver avec une sacrée population de fichiers. Et les gens sur windows n'ont pas forcément un make qui marche.

    Est-ce qu'on pourrait, en plus du "-m" ajouter un "-qqch-je-manque-d-inspi" qui vérifirai l'orthographe que sur les fichiers modifiés depuis le dernier push?

    un genre de pospell -l fr -p dict $(git diff --name-only @{u}).

    Bon ça ne marche que si sa branche suit un upstream, donc pas pour les nouvelles branches.

    Il faudrait un "git diff --name-only des commits d'un même commiter successifs" ... ?

  12. deronnax commented on Nov 14, 2019

    @deronnax
    Collaborator

    @JulienPalard pourquoi pas git diff --name-only $(VERSION)... comme je l'ai suggéré plus haut ? (tous les commits de la branche depuis le "master")

  13. JulienPalard commented on Nov 14, 2019

    @JulienPalard
    Member

    Ah oui j'aime !
    D'ailleurs git diff --name-only $(VERSION) simplement ?

  14. JulienPalard commented on Nov 15, 2019

    @JulienPalard
    Member

    Mais ça ne marche qu'avec make, le public avait des make qui marchent ? Même sur Windows ?

  15. awecx commented on Nov 16, 2019

    @awecx
    ContributorAuthor

    Le souci du git diff --name-only réside qu'on repasse le pospell sur chacun des fichiers modifiés au moins une fois (même si on y a pas touché entre deux commits)... J'ai créé #991 qui mélange les deux idées : on génère bien un .po.out pour voir s'il est nécessaire de repasser pospell — on a toute la puissance du Makefile pour ne revérifier (en parallèle) que les fichiers qui ont été modifiés — mais on filtre bien sur les .po modifiés avec le `git diff``.

    Le seul point qui m'ennuie c'est que je force le Makefile à utiliser bash (pour le pipefail). On pourrait sûrement s'en passer en vérifiant le contenu du .po.out généré (s'il est vide, c'est bon), mais ça serait peut-être moins élégant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions