Changeset 82795 in spip-zone
- Timestamp:
- May 29, 2014, 2:37:25 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
_dev_/salvatore2/pousseur.php
r77237 r82795 44 44 45 45 foreach ($liste_sources as $source) { 46 $credentials = false; 46 47 $module = $source[1]; 47 48 trad_log("===== Module $module ======================================\n"); 49 50 $domaine_svn = parse_url($source[0]); 51 $domaine_svn = $domaine_svn['host']; 52 if(isset($domaines_exceptions) && is_array($domaines_exceptions) && in_array($domaine_svn,$domaines_exceptions)){ 53 /** 54 * On est dans une exception (Github?) 55 */ 56 if(is_array($domaines_exceptions_credentials) && isset($domaines_exceptions_credentials[$domaine_svn])){ 57 $user = $domaines_exceptions_credentials[$domaine_svn]['user']; 58 $pass = $domaines_exceptions_credentials[$domaine_svn]['pass']; 59 $credentials = true; 60 } 61 } 48 62 if(isset(${$module.'_user'})){ 49 63 $user = ${$module.'_user'}; 50 64 $pass = ${$module.'_passwd'}; 51 }else {65 }else if(!$credentials){ 52 66 $user = $SVNUSER; 53 67 $pass = $SVNPASSWD; … … 61 75 trad_log(exec("svn add --quiet $f*xml 2>/dev/null")."\n"); 62 76 $ignore = array( 63 # 'spip','ecrire','public' 77 // 'spip','ecrire','public' 78 'couteau','couteauprive','paquet-couteau_suisse'// désactivés suite à scandale, je ne sais pas comment le gérer correctement 64 79 ); 65 80 … … 67 82 trad_log("$module ignore'\n"); 68 83 else{ 84 $depot = exec("env LC_MESSAGES=en_US.UTF-8 svn info $f |awk '/^Repository Root/ { print $3 }'").'/'; 85 $svn_url = exec("env LC_MESSAGES=en_US.UTF-8 svn info $f |awk '/^URL/ { print $2 }'").'/'; 86 $path_svn = str_replace($depot,'',$svn_url); 69 87 $message = $message_commit = $commiteurs = false; 70 88 if(file_exists($f.'message_commit.inc')){ 71 89 $message = true; 72 90 require_once(dirname(__FILE__).'/'.str_replace('./','',$f).'message_commit.inc'); 73 $message_commit .= "\n\nlangues ($module)";74 91 } 75 if(!$message_commit)76 $message_commit = "langues ($module)";77 92 78 if(is_array($commiteurs)){ 79 //trad_log("$message_commit\n"); 80 if(count($commiteurs) > 0){ 81 foreach($commiteurs as $lang => $email){ 82 if($email){ 83 $message_commit_unique = "[Salvatore] export depuis http://trad.spip.net\n\n"; 84 $message_commit_unique .= "Langue $lang ($module)"; 85 /** 86 * Si plusieurs commiteurs ou si le fichier original est modifié, on ne commit que fichier par fichier 87 */ 88 if(count($commiteurs) > 1 || in_array(substr(exec("svn status "._SALVATORE_TMP.$source[1]."/".$source[1]."_".$source[2].".php"),0,1),array('A','M'))) 89 $path = $f.$module.'_'.$lang.'.php'; 90 /** 91 * Sinon on ne s'embarasse pas, on balance tout avec cet utilisateur 92 */ 93 else 94 $path = $f; 95 trad_log("On devrait commiter $path avec comme message '$message_commit_unique' avec l'email $email\n"); 96 //trad_log(exec("svn commit $path --username $user --password $pass --no-auth-cache --non-interactive -m ".escapeshellarg($message_commit_unique))."\n"); 97 $revision = exec("env LC_MESSAGES=en_US.UTF-8 svn info $path |awk '/^Revision/ { print $2 }'"); 98 //trad_log(exec("svn propset --revprop -r $revision svn:author '$email' $path --username $user --password $pass --no-auth-cache --non-interactive")."\n"); 99 trad_log("svn propset --revprop -r $revision svn:author '$email' $path --username $user --password $pass --no-auth-cache --non-interactive\n"); 100 } 93 if(is_array($commiteurs) && count($commiteurs) > 0){ 94 foreach($commiteurs as $lang => $email){ 95 if(strlen($email) > 1){ 96 $message_commit_unique = "[Salvatore] [source:$path_svn $module] Export depuis http://trad.spip.net de la langue $lang"; 97 /** 98 * Si plusieurs commiteurs (veut dire que plusieurs fichiers sont à commiter) 99 * ou si le fichier original est modifié, on ne commit que fichier par fichier 100 */ 101 if(count($commiteurs) > 1 || in_array(substr(exec("svn status "._SALVATORE_TMP.$source[1]."/".$source[1]."_".$source[2].".php"),0,1),array('A','M'))) 102 $path = $f.$module.'_'.$lang.'.php'; 103 /** 104 * Sinon on ne s'embarasse pas, on balance tout avec cet utilisateur 105 */ 106 else 107 $path = $f; 108 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"); 110 $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"); 112 trad_log("svn propset --revprop -r $revision svn:author '$email' $path --username $user --password $pass --no-auth-cache --non-interactive\n"); 101 113 } 102 114 } … … 108 120 */ 109 121 if(strlen(trim(exec("svn status $f |awk /^[MA]/"))) > 1){ 110 trad_log(strlen(trim(exec("svn status $f |awk /^[MA]/")))); 122 $commit_message = "[Salvatore] [source:$path_svn $module] Export depuis http://trad.spip.net\n\n"; 123 $commit_message .= $message_commit."\n"; 111 124 trad_log("On commit $f car il reste des fichiers\n"); 112 //trad_log(exec("svn commit $f --username $user --password $pass --no-auth-cache --non-interactive -m ".escapeshellarg($message_commit))."\n"); 125 trad_log(exec("svn commit $f --username $user --password $pass --no-auth-cache --non-interactive -m ".escapeshellarg($commit_message))."\n"); 126 $revision_fin = exec("svn up $f && env LC_MESSAGES=en_US.UTF-8 svn info $f |awk '/^Last Changed Rev/ { print $4 }'"); 127 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"); 130 } 113 131 } 114 132 115 //if(file_exists($f.'message_commit.inc'))116 //unlink($f.'message_commit.inc');133 if(file_exists($f.'message_commit.inc')) 134 unlink($f.'message_commit.inc'); 117 135 } 118 136 }
Note: See TracChangeset
for help on using the changeset viewer.