Changeset 91201 in spip-zone for _dev_


Ignore:
Timestamp:
Jul 30, 2015, 10:37:10 AM (4 years ago)
Author:
kent1@…
Message:

Améliorer l'auth svn

Location:
_dev_/salvatore2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _dev_/salvatore2/README.md

    r82794 r91201  
     1#Salvatore : Robot de gestion de traductions
     2
    13##Les outils fournis :
    24
     
    3032        2. Dans ce fichier, ajouter les deux variables suivantes:
    3133                * ```$SVNUSER = 'user@svn.tld';``` correspondant au nom d'utilisateur du serveur SVN qui enverra les fichiers.
    32         3. ```$SVNPASSWD = 'mot de passe';``` correspondant au mot de passe de l'utilisateur du serveur SVN qui enverra les fichiers.
    33         4. Lancer ensuite la commande : ```php pousseur.php```
     34                * ```$SVNPASSWD = 'mot de passe';``` correspondant au mot de passe de l'utilisateur du serveur SVN qui enverra les fichiers.
     35        3. Lancer ensuite la commande : ```php pousseur.php```
    3436
    3537
    3638##Options possibles
    3739
    38 Plusieurs options peuvent être définie dans le fichier config/mes_options.php du site par exemple.
     40Plusieurs options peuvent être définies dans le fichier config/mes_options.php du site par exemple.
    3941
    4042```define('_EMAIL_ERREURS','nom@domaine.tld');```
  • _dev_/salvatore2/pousseur.php

    r82795 r91201  
    107107                                                $path = $f;
    108108                                        trad_log("On devrait commiter $path avec comme message '$message_commit_unique' avec l'email $email\n");
    109                                         trad_log(exec("svn commit $path --username $user --password $pass --no-auth-cache --non-interactive -m ".escapeshellarg($message_commit_unique))."\n");
     109                                        trad_log(exec("svn commit $path --username $user --password $pass --no-auth-cache --non-interactive --trust-server-cert -m ".escapeshellarg($message_commit_unique))."\n");
    110110                                        $revision = exec("svn up $path && env LC_MESSAGES=en_US.UTF-8 svn info $path |awk '/^Last Changed Rev/ { print $4 }'");
    111                                         trad_log(exec("svn propset --revprop -r $revision svn:author '$email' $path --username $user --password $pass --no-auth-cache --non-interactive")."\n");
     111                                        trad_log(exec("svn propset --revprop -r $revision svn:author '$email' $path --username $user --password $pass --no-auth-cache --non-interactive --trust-server-cert")."\n");
    112112                                        trad_log("svn propset --revprop -r $revision svn:author '$email' $path --username $user --password $pass --no-auth-cache --non-interactive\n");
    113113                                }
     
    123123                        $commit_message .= $message_commit."\n";
    124124                        trad_log("On commit $f car il reste des fichiers\n");
    125                         trad_log(exec("svn commit $f --username $user --password $pass --no-auth-cache --non-interactive -m ".escapeshellarg($commit_message))."\n");
     125                        trad_log(exec("svn commit $f --username $user --password $pass --no-auth-cache --non-interactive --trust-server-cert -m ".escapeshellarg($commit_message))."\n");
    126126                        $revision_fin = exec("svn up $f && env LC_MESSAGES=en_US.UTF-8 svn info $f |awk '/^Last Changed Rev/ { print $4 }'");
    127127                        if(!$credentials){
    128                                 trad_log(exec("svn propset --revprop -r $revision_fin svn:author 'salvatore@rezo.net' $f --username $user --password $pass --no-auth-cache --non-interactive")."\n");
    129                                 trad_log("svn propset --revprop -r $revision_fin svn:author 'salvatore@rezo.net' $f --username $user --password $pass --no-auth-cache --non-interactive\n");
     128                                trad_log(exec("svn propset --revprop -r $revision_fin svn:author 'salvatore@rezo.net' $f --username $user --password $pass --no-auth-cache --non-interactive --trust-server-cert")."\n");
     129                                trad_log("svn propset --revprop -r $revision_fin svn:author 'salvatore@rezo.net' $f --username $user --password $pass --no-auth-cache --non-interactive --trust-server-cert\n");
    130130                        }
    131131                }
  • _dev_/salvatore2/tireur.php

    r84701 r91201  
    1818    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    1919
    20     Copyright 2003-2013
     20    Copyright 2003-2015
    2121        Florent Jugla <florent.jugla@eledo.com>,
    2222        Philippe Riviere <fil@rezo.net>,
     
    3131 */
    3232require_once(dirname(__FILE__).'/inc_tradlang.php');
     33require_once(_DIR_ETC.'salvatore_passwd.inc');
    3334$tmp=_SALVATORE_TMP;
    3435
     
    4344$ret=0;
    4445$cmd = false;
     46
    4547foreach($liste_sources as $source) {
     48        if(isset($domaines_exceptions) && is_array($domaines_exceptions) && in_array($domaine_svn,$domaines_exceptions)){
     49                /**
     50                 * On est dans une exception (Github?)
     51                 */
     52                if(is_array($domaines_exceptions_credentials) && isset($domaines_exceptions_credentials[$domaine_svn])){
     53                        $user = $domaines_exceptions_credentials[$domaine_svn]['user'];
     54                        $pass = $domaines_exceptions_credentials[$domaine_svn]['pass'];
     55                        $credentials = true;
     56                }
     57        }
     58        if(isset(${$module.'_user'})){
     59                $user = ${$module.'_user'};
     60                $pass = ${$module.'_passwd'};
     61        }else if(!$credentials){
     62                $user = $SVNUSER;
     63                $pass = $SVNPASSWD;
     64        }
    4665        trad_log("\n===== Module ".$source[1]." =====\n");
    4766        if (is_dir($tmp.$source[1].'/.svn')){
    48                 $depot = "env LANG=en svn info --non-interactive ".$tmp.$source[1]." | awk '/^URL:/ { print $2 }'";
     67                $depot = "env LANG=en svn info --non-interactive --trust-server-cert --username $user --password $pass ".$tmp.$source[1]." | awk '/^URL:/ { print $2 }'";
    4968                $depot = exec($depot,$depot);
    5069                $depot = $depot.'/';
     
    6079                                $cmd = "svn switch ".$source[0]." ".$tmp.$source[1]."/";
    6180                        else
    62                                 $cmd = "rm -Rvf ".$tmp.$source[1]."/ && svn checkout --non-recursive ". $source[0]."/ ".$tmp.$source[1].'/';
     81                                $cmd = "rm -Rvf ".$tmp.$source[1]."/ && svn checkout  --non-interactive --trust-server-cert --username $user --password $pass --non-recursive ". $source[0]."/ ".$tmp.$source[1].'/';
    6382                }else{
    64                         $revision_actuelle = "env LANG=en svn info --non-interactive ".$tmp.$source[1]." | awk '/^Revision:/ { print $2 }'";
     83                        $revision_actuelle = "env LANG=en svn info  --non-interactive --trust-server-cert --username $user --password $pass ".$tmp.$source[1]." | awk '/^Revision:/ { print $2 }'";
    6584                        $revision_actuelle = exec($revision_actuelle,$revision_actuelle);
    66                         $last_revision = "env LANG=en svn info --non-interactive ".$source[0]." | awk '/^Last\ Changed\ Rev:/ { print $4 }'";
     85                        $last_revision = "env LANG=en svn info  --non-interactive --trust-server-cert --username $user --password $pass ".$source[0]." | awk '/^Last\ Changed\ Rev:/ { print $4 }'";
    6786                        $last_revision = exec($last_revision,$last_revision);
    6887                        if($revision_actuelle >= $last_revision)
    6988                                trad_log("Pas besoin de mettre à jour");
    7089                        else
    71                                 $cmd = "svn update --non-recursive --accept theirs-full ".$tmp.$source[1]."/";
     90                                $cmd = "svn update  --non-interactive --trust-server-cert --username $user --password $pass --non-recursive --accept theirs-full ".$tmp.$source[1]."/";
    7291                }
    7392        }else
    74                 $cmd = "svn checkout --non-recursive ". $source[0]."/ ".$tmp.$source[1].'/';
     93                $cmd = "svn checkout  --non-interactive --trust-server-cert --username $user --password $pass --non-recursive ". $source[0]."/ ".$tmp.$source[1].'/';
    7594
    7695        if($cmd){
Note: See TracChangeset for help on using the changeset viewer.