Changeset 77251 in spip-zone for _dev_


Ignore:
Timestamp:
Oct 16, 2013, 12:58:49 PM (6 years ago)
Author:
esj@…
Message:

Salvatore: script de réaffectation des commits munie de numéros d'étapes afin de pouvoir être repris après interruption (il est long).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _dev_/salvatore2/reattribution/trad.sh

    r77237 r77251  
    11#!/bin/sh
    2 # Script retrouvant le traducteur de chaque commit fait au nom de Salvatore
     2# Script retrouvant le traducteur de chaque commit fait au nom de Salvatore (ou autre).
    33# La derniere passe repose sur un fichier trad-mails.txt donnant leur mail,
    44# chacune de ses lignes devant etre de la forme: nom%mail
    55
    6 PREFIX=/tmp/ana-svn-${PWD##*/}-$$
    7 # tout recuperer
    8 svn log -v -l77200 > $PREFIX-1.txt
     6PREFIX=/tmp/ana-svn-${PWD##*/}
     7SIZE=$(svn info|grep Revi|awk '{print $2}')
     8USURPATEUR=salvatore@rezo.net
     9ETAPE=$1
     10if [ -z "$ETAPE" ]
     11then ETAPE=1
     12fi
    913
    10 # Ne prendre que les envois de salvatore
    11 awk '{if (substr($0,0,1)=="r") ok = ($3=="salvatore@rezo.net"); if (ok) print;}' $PREFIX-1.txt > $PREFIX-2.txt
     14if [ $ETAPE -eq 1 ]
     15then
     16echo $ETAPE. Recuperer $SIZE commit >&2
     17svn log -v -l$SIZE > $PREFIX-1.txt
     18ETAPE=$((ETAPE+1))
     19fi
    1220
    13 # mettre sur une seule ligne le numéro de commit et les fichiers concernés
     21if [ $ETAPE -eq 2 ]
     22then
     23echo $ETAPE. Ne prendre que les envois de $USURPATEUR >&2
     24awk "{if ( /^r/ ) ok=(/^r[0-9]+ [|] $USURPATEUR/); if (ok) print;}" $PREFIX-1.txt > $PREFIX-2.txt
     25ETAPE=$((ETAPE+1))
     26fi
     27
     28if [ $ETAPE -eq 3 ]
     29then
     30echo $ETAPE. Mettre sur une seule ligne le numéro de commit et les fichiers  >&2
    1431awk -F'[/ ]*' '{if (!$0) ok= 0; else {if (!ok) {if  ($0 == "Changed paths:") {print p; p=old; ok=1;} else old=$1} else p= p " " $NF;}}' $PREFIX-2.txt  > $PREFIX-3.txt
     32ETAPE=$((ETAPE+1))
     33fi
    1534
    16 # prendre les numeros des commit ayant le fichier XML et au moins un fichier php
    17 a=$(awk '/xml.*php/{print substr($1,2)}' $PREFIX-3.txt)
     35if [ $ETAPE -eq 4 ]
     36then
     37echo $ETAPE. Prendre les commit ayant le fichier XML et au moins un fichier php >&2
     38awk '/xml.*php/{print substr($1,2)}' $PREFIX-3.txt  > $PREFIX-4.txt
     39ETAPE=$((ETAPE+1))
     40fi
    1841
    19 # charger leur modifs et les traiter
    20 for i in $a
     42if [ $ETAPE -eq 5 ]
     43then
     44echo $ETAPE. charger leur modifs et les traiter >&2
     45cat $PREFIX-4.txt | while read i
    2146do
    2247        t=$(svn diff -c$i |
     
    2550        sort  -u |
    2651        tr "\n" "%");
    27 echo "$i $t"
    28 done > $PREFIX-4.txt
     52        echo "$i $t"
     53done > $PREFIX-5.txt
     54ETAPE=$((ETAPE+1))
     55fi
    2956
    30 # Ne prendre que les commmit avec un seul traducteur
    31 # et chercher leur mail
    32 awk -F% '{if (NF == 2) print $1}' $PREFIX-4.txt | while read numero traducteur
    33 do
    34         mail=$(grep "^$traducteur%" trad-mails.txt| awk -F% '{print $2}')
    35         if [ -n "$mail" ]
    36         then
    37             echo "$numero $mail"
    38         fi
    39 done
     57if [ $ETAPE -eq 6 ]
     58then
     59echo $ETAPE. Ne prendre que les commmit avec un seul traducteur >&2
     60awk -F% '{if (NF == 2) print $1}' $PREFIX-5.txt > $PREFIX-6.txt
     61ETAPE=$((ETAPE+1))
     62fi
     63
     64if [ $ETAPE -eq 7 ]
     65then
     66echo $ETAPE. Prendre leur mail >&2
     67if [ -f trad-mails.txt ]
     68then
     69        cat $PREFIX-6.txt | while read numero traducteur
     70        do
     71                        mail=$(grep "^$traducteur%" trad-mails.txt| awk -F% '{print $2}')
     72                        if [ -n "$mail" ]
     73                        then
     74                            echo "$numero $mail"
     75                        fi
     76        done
     77else
     78        echo trad-mails.txt absent >&2
     79fi
     80fi
    4081rm $PREFIX-?.txt
Note: See TracChangeset for help on using the changeset viewer.