• [^] # Re: Les warnings

    Posté par (site web personnel) . En réponse au journal compiler en c++ pour avoir plus de warnings. Évalué à 9.

    Sur certains projets persos, on s'est mis d'accord pour interdire les commits où le code génère des warnings à la compilation.

    Voici mon hook git (pre-commit) facilement adaptable (et au passage, si on oublie de faire un add sur un fichier nécessaire pour la compilation, ça empêche le commit) :

    #!/bin/sh
    #
    # to ignore check : --no-verify
    against=`git rev-parse --verify HEAD`
    # Creation d'un dossier temporaire.
    TMPDIR=`mktemp -d`
    # On copie le diff dans un fichier patch.
    git diff $against > $TMPDIR/current_change.patch
    # On copie le HEAD.
    git archive $against | tar -x -C $TMPDIR
    # on va dans le dossier temporaire pour appliquer le patch.
    cd $TMPDIR
    git apply current_change.patch
    # make depend
    make depend
    # on compile avec -Werror.
    make -j16 WERROR=1
    rc=$?
    rm -rf $TMPDIR
    if [ $rc -ne 0 ]; then
    echo "Erreur !"
    exit $rc
    fi